Celluloid is an easy-to-use library for building concurrent programs in
Ruby:
Celluloid::IO lets you use Celluloid’s concurrent objects as general
purpose evented I/O loops similar to EventMachine:
DCell lets you build distributed systems out of actors that talk over
the
0MQ protocol, using the Celluloid::ZMQ library:
–
This release represents an incremental evolution of all of these
libraries.
Celluloid 0.8.0 is more efficient, factored better internally, and
includes
a new implementation of futures which does not require an additional
thread
per future.
Celluloid::IO 0.8.0 is the first release to use nio4r instead of
Kernel.select for I/O multiplexing, which brings with it lower CPU usage
selecting among large numbers of file descriptors.
–
Changelogs follow:
Celluloid 0.8.0:
- Celluloid::Application has been renamed to Celluloid::Group
- Futures no longer use a thread unless created with a block
- No more future thread-leaks! Future threads auto-terminate now
- Rename Celluloid#async to Celluloid#defer
- Celluloid#tasks now returns an array of tasks with a #status attribute
- Reduce coupling between Celluloid and DCell. Breaks compatibility
with earlier versions of DCell. - Celluloid::FSMs are no longer actors themselves
- Benchmarks using benchmark_suite
Celluloid::IO 0.8.0:
- Switch to nio4r-based reactor
- Compatibility with Celluloid 0.8.0 API changes
Celluloid::ZMQ 0.8.0:
- Update to match internals of celluloid-io
DCell 0.8.0
- Track calls in-flight with DCell::RPC and DCell::RPC::Manager
- Compatibility changes for Celluloid 0.8.0