Celluloid v0.12.0 Release Notes
-
- Alternative async syntax: actor.async.method in lieu of actor.method! Original syntax still available but will be removed in Celluloid 1.0
- Alternative future syntax: actor.future.method in lieu of future(:method)
- All methods in the Celluloid module are now available on its singleton
- The #join and #kill methods are no longer available on the actor proxy. Please use Celluloid::Actor.join(actor) and .kill(actor) instead.
- Celluloid::Future#ready? can be used to query for future readiness
- ๐ Celluloid::Group constant removed. Please use Celluloid::SupervisionGroup
- #monitor, #unmonitor, and #monitoring? provide unidirectional linking
- ๐ Linking is now performed via a SystemEvent
- SystemEvents are no longer exceptions. Boo exceptions as flow control!
- Celluloid::Mailbox#system_event eliminated and replaced with Mailbox#<< SystemEvents are now automatically high priority
- The task_class class method can be used to override the class used for tasks, allowing different task implementations to be configured on an actor-by-actor-basis
- Celluloid::TaskThread provides tasks backed by Threads instead of Fibers
- ActorProxy is now a BasicObject
- A bug prevented Celluloid subclasses from retaining custom mailboxes defined by use_mailbox. This is now fixed.
exclusive
class method without arguments makes the whole actor exclusive