agner_sup/
common.rs

1//! The utility functions common to both [Uniform](crate::uniform) and [Mixed](crate::mixed)
2//! supervisors.
3
4use std::future::Future;
5use std::pin::Pin;
6
7use agner_actors::ActorID;
8
9pub type BoxedFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;
10pub type StaticBoxedFuture<T> = BoxedFuture<'static, T>;
11
12#[derive(Debug, Clone, Copy)]
13pub struct ParentActor(pub ActorID);
14
15mod start_child;
16pub use start_child::{start_child, StartChildError};
17
18mod stop_child;
19pub use stop_child::{stop_child, ShutdownSequence, StopChildError};
20
21mod init_type;
22pub use init_type::{InitType, WithAck};
23
24pub mod gen_child_spec;
25pub use gen_child_spec::{CreateArgs, CreateChild, GenChildSpec};