|Site sponsored by IGEL|
FusionDale is applied Fusion and will be a collection of different services for use by applications and other libraries.
There's a component manager (Coma) which allows any process to create a component - identified by only a string at the moment - and provide methods and notifications. Other processes can get access to the component and call methods or listen to notifications. Multiple component managers can exist with each one identified globally by a string.
You have the ability to create 'thread local shared memory' and reuse it to avoid alloc/free for every RPC call with data not already in shared memory. Allocation will happen on first call or if the buffer needs to be extended, but there's a method to free it in case a big allocation has been done or just for cleanup.
Be aware that only method calls are synchronous. Notifications are sent out and execution returns to the sender immediately. Component implementors can register a callback being called when there's no more recipient for a notification that was sent, e.g. to free the shared data associated with the notification.
FusionDale also contains a messaging API for notifications and data distribution using shared memory with lifecycle management. The attached data is freed after all recipients have processed the message, or exited, or died. Note that this functionality is not as efficient as the rest of FusionDale - some relevant improvements in Fusion are required here.
Also read the API Reference.