#[doc(hidden)]
pub use actix_derive::*;
#[cfg(test)]
doc_comment::doctest!("../README.md");
mod actor;
mod context;
mod contextimpl;
mod contextitems;
mod handler;
mod stream;
mod supervisor;
mod address;
mod mailbox;
pub mod actors;
pub mod clock;
pub mod fut;
pub mod io;
pub mod registry;
pub mod sync;
pub mod utils;
pub use actix_rt::{Arbiter, System, SystemRunner};
pub use crate::actor::{
Actor, ActorContext, ActorState, AsyncContext, Running, SpawnHandle, Supervised,
};
pub use crate::address::{Addr, MailboxError, Recipient, WeakAddr};
pub use crate::context::Context;
pub use crate::fut::{ActorFuture, ActorStream, FinishStream, WrapFuture, WrapStream};
pub use crate::handler::{
ActorResponse, Handler, Message, MessageResult, Response, ResponseActFuture,
ResponseFuture,
};
pub use crate::registry::{ArbiterService, Registry, SystemRegistry, SystemService};
pub use crate::stream::StreamHandler;
pub use crate::supervisor::Supervisor;
pub use crate::sync::{SyncArbiter, SyncContext};
#[doc(hidden)]
pub use crate::context::ContextFutureSpawner;
pub mod prelude {
#[doc(hidden)]
pub use actix_derive::*;
pub use actix_rt::{Arbiter, System, SystemRunner};
pub use crate::actor::{
Actor, ActorContext, ActorState, AsyncContext, Running, SpawnHandle, Supervised,
};
pub use crate::address::{
Addr, MailboxError, Recipient, RecipientRequest, Request, SendError,
};
pub use crate::context::{Context, ContextFutureSpawner};
pub use crate::fut::{ActorFuture, ActorStream, WrapFuture, WrapStream};
pub use crate::handler::{
ActorResponse, Handler, Message, MessageResult, Response, ResponseActFuture,
ResponseFuture,
};
pub use crate::registry::{ArbiterService, SystemService};
pub use crate::stream::StreamHandler;
pub use crate::supervisor::Supervisor;
pub use crate::sync::{SyncArbiter, SyncContext};
pub use crate::actors;
pub use crate::dev;
pub use crate::fut;
pub use crate::io;
pub use crate::utils::{Condition, IntervalFunc, TimerFunc};
pub use futures::{Future, Stream};
}
pub mod dev {
pub use crate::prelude::*;
pub use crate::address::{
Envelope, EnvelopeProxy, RecipientRequest, Request, ToEnvelope,
};
pub mod channel {
pub use crate::address::channel::{channel, AddressReceiver, AddressSender};
}
pub use crate::contextimpl::{AsyncContextParts, ContextFut, ContextParts};
pub use crate::handler::{MessageResponse, ResponseChannel};
pub use crate::mailbox::Mailbox;
pub use crate::registry::{Registry, SystemRegistry};
}
pub fn run<R>(f: R) -> std::io::Result<()>
where
R: futures::Future<Output = ()> + 'static,
{
Ok(actix_rt::System::new("Default").block_on(f))
}
pub fn spawn<F>(f: F)
where
F: futures::Future<Output = ()> + 'static,
{
actix_rt::spawn(f);
}
#[cfg(feature = "http")]
impl actix_http::ResponseError for MailboxError {}