#![cfg_attr(docsrs, feature(doc_cfg))]
mod errors;
pub use errors::{BoxError, ErrorReport, RecvError, SendError};
pub mod channel;
pub mod utils;
pub mod actor;
pub use actor::{Actor, ActorContext, ActorId, ActorState, JoinHandle, Stopping};
mod context;
pub use context::{Context, DEFAULT_MAILBOX_CAPACITY};
pub mod address;
pub use address::{Address, Recipient, Sender, SenderId};
pub mod message;
pub use message::{Handler, Message, MessageResponse};
#[cfg(feature = "identifier")]
#[cfg_attr(docsrs, doc(cfg(feature = "identifier")))]
pub use message::MessageId;
#[cfg(feature = "identifier")]
#[cfg_attr(docsrs, doc(cfg(feature = "identifier")))]
pub mod stable_type_id;
#[cfg(feature = "identifier")]
#[cfg_attr(docsrs, doc(cfg(feature = "identifier")))]
pub use stable_type_id::{HasStableTypeId, StableTypeId};
pub mod envelope;
mod signal;
pub use signal::Signal;
pub mod supervisor;
#[cfg(feature = "observer")]
#[cfg_attr(docsrs, doc(cfg(feature = "observer")))]
pub mod observer;
#[cfg(feature = "cron")]
#[cfg_attr(docsrs, doc(cfg(feature = "cron")))]
pub mod cron;
#[cfg(all(feature = "derive", feature = "identifier"))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "derive", feature = "identifier"))))]
pub use acktor_derive::{HasStableTypeId, MessageId};
#[cfg(feature = "derive")]
#[cfg_attr(docsrs, doc(cfg(feature = "derive")))]
pub use acktor_derive::{Message, MessageResponse};
#[doc(hidden)]
#[cfg(feature = "identifier")]
pub use sha2_const;
#[cfg(test)]
mod test_utils {
use crate::actor::Actor;
use crate::context::Context;
use crate::message::{Handler, Message};
#[derive(Debug)]
pub struct Dummy;
impl Actor for Dummy {
type Context = Context<Self>;
type Error = anyhow::Error;
}
#[derive(Debug)]
pub struct Ping(pub u32);
impl Message for Ping {
type Result = ();
}
impl Handler<Ping> for Dummy {
type Result = ();
async fn handle(&mut self, _msg: Ping, _ctx: &mut Self::Context) {}
}
}