[][src]Crate meio

meio - lightweight async actor framework for Rust. The main benefit of this framework is that gives you tiny extension over tokio with full control.

It's designed for professional applications where you can't have strong restrictions and have keep flexibility.

Also this crate has zero-cost runtime. It just calls async method of your type.

Re-exports

pub use address::Address;
pub use channel::Controller;
pub use channel::Status;
pub use channel::Supervisor;
pub use handlers::Action;
pub use handlers::ActionHandler;
pub use handlers::Interaction;
pub use handlers::InteractionHandler;
pub use performers::ActionPerformer;
pub use performers::InteractionPerformer;
pub use recipients::ActionRecipient;
pub use recipients::InteractionRecipient;
pub use terminator::Stage;
pub use terminator::TerminationProgress;
pub use terminator::Terminator;

Modules

address

This module contains Address to interact with an Actor.

channel

This module contains an internal channel used by runtimes to send signal about finished supervised activities of shutdown signals.

handlers

This module contains the Envelope that allow to call methods of actors related to a sepcific imcoming message.

performers

This module contains extensions for the Address type to allow to send specific messages to actors.

recipients

This module contains recipients that works like addresses with a single incoming message type.

signal

Module contains stream to connect signals to actors.

task

This module contains useful tasks that you can attach to an Actor.

terminator

Contains utilities to manage supervised childs/tasks termination.

Structs

Context

Context of a ActorRuntime that contains Address and Receiver.

Id

Unique Id of Actor's runtime that used to identify all senders for that actor.

ShutdownReceiver

Contains a receiver with a status of a task.

Enums

LiteStatus

Status of the task.

Traits

Actor

The main trait. Your structs have to implement it to be compatible with ActorRuntime and Address system.

Link

Returns a Link to an Actor. Link is a convenient concept for creating wrappers for Address that provides methods instead of using message types directly. It allows also to use private message types opaquely.

LiteTask

Minimalistic actor that hasn't Address.