28 releases

new 0.1.27 Sep 27, 2021
0.1.26 Sep 27, 2021
0.1.19 Aug 24, 2021
0.1.18 Jun 23, 2021
0.0.1 Mar 2, 2021

#135 in Asynchronous

Download history 41/week @ 2021-06-07 3/week @ 2021-06-14 28/week @ 2021-06-21 5/week @ 2021-06-28 1/week @ 2021-07-12 21/week @ 2021-07-19 20/week @ 2021-07-26 52/week @ 2021-08-02 40/week @ 2021-08-16 24/week @ 2021-08-23 6/week @ 2021-08-30 25/week @ 2021-09-06 58/week @ 2021-09-13 67/week @ 2021-09-20

106 downloads per month

MIT license

22KB

elfo

Crates.io Documentation MIT licensed Build Status

Note: this system is still in early development and is not for production.

Features

  • Async actors with supervision and custom lifecycle
  • Two-level routing system: between actor groups and inside them (sharding)
  • Multiple protocols: actors (so-called gates) can handle messages from different protocols
  • Multiple patterns of communication: regular messages, request-response (TODO: subscriptions)
  • Config updating and distribution
  • Appropriate for both low latency and high throughput tasks
  • Tracing: all messages have trace_id that spread across the system
  • Telemetry (via the metrics crate)
  • Efficient dumping
  • Seamless distribution across nodes TODO
  • Hot Actor Replacement TODO
  • Utils for simple testing
  • Utils for benchmarking TODO

Usage

To use elfo, add this to your Cargo.toml:

[dependencies]
elfo = { version = "0.1", features = ["full"] }

[dev-dependencies]
elfo = { version = "0.1", features = ["test-util"] }

Examples

Also check The Actoromicon.

Dependencies

~8–12MB
~227K SLoC