1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3#![warn(clippy::all)]
4#![warn(rust_2018_idioms)]
5#![warn(missing_debug_implementations)]
6#![deny(unused_must_use)]
7#![cfg_attr(docsrs, feature(doc_auto_cfg))]
8
9pub mod actor;
10pub mod error;
11pub mod mailbox;
12pub mod message;
13#[cfg(not(feature = "remote"))]
14pub mod registry;
15#[cfg(feature = "remote")]
16pub mod remote;
17pub mod reply;
18pub mod request;
19
20pub use actor::Actor;
21#[cfg(feature = "macros")]
22pub use kameo_macros::{messages, remote_message, Actor, RemoteActor, Reply};
23pub use reply::Reply;
24
25pub mod prelude {
34 #[cfg(feature = "macros")]
35 pub use kameo_macros::{messages, remote_message, Actor, RemoteActor, Reply};
36
37 #[cfg(feature = "remote")]
38 pub use crate::actor::RemoteActorRef;
39 pub use crate::actor::{
40 Actor, ActorId, ActorRef, PreparedActor, Recipient, ReplyRecipient, WeakActorRef,
41 WeakRecipient, WeakReplyRecipient,
42 };
43 #[cfg(feature = "remote")]
44 pub use crate::error::RemoteSendError;
45 pub use crate::error::{ActorStopReason, PanicError, SendError};
46 pub use crate::mailbox::{self, MailboxReceiver, MailboxSender};
47 pub use crate::message::{Context, Message};
48 #[cfg(feature = "remote")]
49 pub use crate::remote::{self, RemoteActor, RemoteMessage};
50 pub use crate::reply::{DelegatedReply, ForwardedReply, Reply, ReplyError, ReplySender};
51}