2 unstable releases
Uses old Rust 2015
0.1.0 | Jun 10, 2017 |
---|---|
0.0.1 | May 28, 2017 |
#5 in #sender-receiver
109 downloads per month
Used in 10 crates
(4 directly)
52KB
884 lines
dharma
crate provides high-level multi-threading support.
bridge
module
bridge
module provides similar functionality as standard spmc
but instead of producing
fixed pairs Sender
-Receiver
it allows to connect them freely, so we can have many one
Sender
sending to many Receivers
and one Receiver
listening to many senders in flexible,
configurable way.
signaler
module
On to of that we add Signaler
which can subscribe receivers for signals (application defined
events) creating notification mechanism.
event_loop
module
On top of Signaler
we add EventLoop
, which is event queue assigned to thread. EventLoop
has assigned Module
s constituting separate application components. Module
s can be assigned
to EventLoop
s in flexible way making it easy to control tasks processed in threads. Module
s
do not share memory and communicate with signals.
dispatcher
module
Every threading framework should provide mechanism for listening on system events. Dispatcher
allows to register EventHandler
s (wrapping file descriptors) and invokes them when system
events they are assigned are ready to be processed.
system
module
Last module contains helper code for and handling system signals.
Dependencies
~1.5MB
~36K SLoC