diff options
Diffstat (limited to 'Source/FusionDale/README')
-rwxr-xr-x | Source/FusionDale/README | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Source/FusionDale/README b/Source/FusionDale/README new file mode 100755 index 0000000..04c3264 --- /dev/null +++ b/Source/FusionDale/README @@ -0,0 +1,27 @@ +FusionDale +---------- + +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. However, this code +is more complex than it needs to be due to some relevant improvements in Fusion.
|