1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! # Xactor is a rust actors framework based on async-std
//!
//! ## Documentation
//!
//! * [GitHub repository](https://github.com/sunli829/xactor)
//! * [Cargo package](https://crates.io/crates/xactor)
//! * Minimum supported Rust version: 1.39 or later
//!
//! ## Features
//!
//! * Async/Sync actors.
//! * Actor communication in a local/thread context.
//! * Using Futures for asynchronous message handling.
//! * Typed messages (No `Any` type). Generic messages are allowed.
//!
//! ## Performance
//!
//! **Actix vs. Xactor**
//!
//! |        |Wait for response|Send only|
//! |--------|-----------------|---------|
//! |Actix   |          1548 ms|    14 ms|
//! |Xactor  |           930 ms|    30 ms|
//!
//! _Code:_ https://github.com/sunli829/xactor-benchmarks
//!
//! ## References
//!
//! * [Actix](https://github.com/actix/actix)
//! * [Async-std](https://github.com/async-rs/async-std)

mod actor;
mod addr;
mod caller;
mod context;
mod service;

pub use actor::{Actor, Handler, Message};
pub use addr::Addr;
pub use caller::{Caller, Sender};
pub use context::Context;
pub use service::Service;