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
mod dispatcher; mod kernel; mod kernel_ref; mod mailbox; mod provider; mod queue; use std::sync::mpsc::Sender; use futures::{Future, Never}; pub use self::kernel_ref::KernelRef; pub use self::kernel::{Kernel, ActorDock, SysActors}; pub use self::dispatcher::Dispatcher; pub use self::mailbox::{mailbox, run_mailbox, flush_to_deadletters}; pub use self::mailbox::{Mailbox, MailboxSender, MailboxSchedule, MailboxConfig}; pub use self::provider::{BigBang, create_actor_ref}; pub use self::queue::{queue, QueueWriter, QueueReader}; use protocol::Message; use actor::{ActorRef, ActorId, BoxActor, BoxActorProd, CreateError}; use system::ActorSystem; #[allow(dead_code)] pub enum KernelMsg<Msg: Message> { Initialize(ActorSystem<Msg>), CreateActor(BoxActorProd<Msg>, String, ActorRef<Msg>, Sender<Result<ActorRef<Msg>, CreateError>>), TerminateActor(ActorId), RestartActor(ActorId), ParkActor(ActorId, Option<BoxActor<Msg>>), UnparkActor(ActorId), RunFuture(Box<Future<Item=(), Error=Never> + Send>), Stop, }