monroe is an asynchronous Actor Model implementation for the Rust programming language.
It is built on top of tokio to meet the demands placed on actors in the Kronos project.
-
No boilerplate: Defining new actors and integrating them into your application should be straightforward and simple.
-
Async/await by design: A strong emphasis is put on forwarding
async/awaitbased API design throughout the entire library. -
Immutability embraced: Leveraging Rust's static guarantees, actors built with monroe manage only their own state and never share it with the outer world.
-
Strongly typed messages: All message types passed between actors are strongly typed and have unambiguous handling semantics. No
Anyvalues.
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.