mirror of
https://github.com/DirectFB/directfb.git
synced 2025-10-14 02:48:16 +08:00
29 lines
1.5 KiB
Plaintext
29 lines
1.5 KiB
Plaintext
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,
|
|
so it's not suggested to be used at the moment.
|