Skip to main content

atomr_core/routing/
mod.rs

1//! Routers — distribute messages across a pool of routees.
2//!
3//! We model a "routee" as any [`crate::actor::ActorRef<M>`] for a common
4//! message type `M`. Each router type carries routing state and exposes a
5//! single `route(msg)` entry point. For brevity here we expose 6 routing
6//! logics — the full set.
7
8mod broadcast;
9mod consistent_hash;
10mod listener;
11mod random;
12mod resizer;
13mod round_robin;
14mod scatter_gather;
15mod smallest_mailbox;
16mod tail_chopping;
17
18pub use broadcast::BroadcastRouter;
19pub use consistent_hash::ConsistentHashRouter;
20pub use listener::ListenerRouter;
21pub use random::RandomRouter;
22pub use resizer::{ResizeAdvice, ResizerConfig};
23pub use round_robin::RoundRobinRouter;
24pub use scatter_gather::ScatterGatherFirstCompletedRouter;
25pub use smallest_mailbox::SmallestMailboxRouter;
26pub use tail_chopping::TailChoppingRouter;