#![doc(
html_logo_url = "https://raw.githubusercontent.com/bastion-rs/bastion/master/img/bastion-logo.png"
)]
#![warn(missing_docs)]
#![warn(missing_debug_implementations)]
#![deny(unsafe_code)]
#![cfg_attr(feature = "docs", feature(doc_cfg))]
pub use self::bastion::Bastion;
pub use self::callbacks::Callbacks;
pub use self::config::Config;
#[macro_use]
mod macros;
mod bastion;
mod broadcast;
mod callbacks;
mod child;
mod config;
mod system;
pub mod child_ref;
pub mod children;
pub mod children_ref;
pub mod context;
pub mod dispatcher;
pub mod envelope;
pub mod executor;
#[cfg(not(target_os = "windows"))]
pub mod io;
pub mod message;
pub mod path;
#[cfg(feature = "scaling")]
pub mod resizer;
pub mod supervisor;
pub mod errors;
distributed_api! {
pub mod distributed;
}
pub mod prelude {
pub use crate::bastion::Bastion;
pub use crate::callbacks::Callbacks;
pub use crate::child_ref::ChildRef;
pub use crate::children::Children;
pub use crate::children_ref::ChildrenRef;
pub use crate::config::Config;
pub use crate::context::{BastionContext, BastionId, NIL_ID};
pub use crate::dispatcher::{
BroadcastTarget, DefaultDispatcherHandler, Dispatcher, DispatcherHandler, DispatcherMap,
DispatcherType, NotificationType,
};
pub use crate::envelope::{RefAddr, SignedMessage};
pub use crate::errors::*;
#[cfg(not(target_os = "windows"))]
pub use crate::io::*;
pub use crate::message::{Answer, AnswerSender, Message, Msg};
pub use crate::msg;
pub use crate::path::{BastionPath, BastionPathElement};
#[cfg(feature = "scaling")]
pub use crate::resizer::{OptimalSizeExploringResizer, UpperBound, UpscaleStrategy};
pub use crate::supervisor::{
ActorRestartStrategy, RestartPolicy, RestartStrategy, SupervisionStrategy, Supervisor,
SupervisorRef,
};
pub use crate::{answer, blocking, children, run, spawn, supervisor};
distributed_api! {
pub use crate::distributed::*;
pub use artillery_core::cluster::ap::*;
pub use artillery_core::epidemic::prelude::*;
}
}