SOME HIGHLIGHTS. * We have a full supervision tree so actors can monitor other actors for exits and unhandled panic!s (at least the ones that can be caught) * The actor lifecycle is handled for you in a simple single-threaded, message handler primitive * You have a mutable state with each message handling call, so you have an easy way to create stateful actors and update that state as messages are processed * Actors talk to other actors by message passing, but there are remote-procedure-calls (RPCs) so actors can “ask a question” to another actor and wait on the reply. * A lot of the concurrency primitives are handled by the framework, such as cancellation/termination of actors (both graceful and forceful) * A Factory primitive in order to formulate distributed processing pools with multiple job routing options * Early but stable support for a distributed epmd-like cluster environment, where you can talk to actors over a network link. It’s an additional crate (ractor_cluster) that builds on ractor to facilitate the inter-connection between nodes and support remote casts and calls to actors on a remote node. We’re openly seeking feedback, so please feel free to utilize the library and let us know if there’s anything you find missing or doesn’t work as expected!
Story Published at: February 16, 2023 at 01:02AM
Story Published at: February 16, 2023 at 01:02AM