pub trait Actor:
Send
+ Sync
+ 'static {
type State: Send + 'static;
type Message: Send + 'static;
// Required methods
fn init(&self, ctx: &Context<Self::Message>) -> Self::State;
fn handle(
&self,
state: &mut Self::State,
msg: Self::Message,
ctx: &Context<Self::Message>,
) -> Directive;
// Provided methods
fn idle(&self, ctx: &Context<Self::Message>) -> Directive { ... }
fn post_stop(&self) { ... }
fn config(&self) -> ActorConfig { ... }
}