mod context;
pub mod effect;
mod events;
mod fiber;
pub mod logger;
pub mod observation;
pub mod plugin;
mod registry;
pub mod service;
mod contained;
mod deadline;
mod deps;
mod framework_task;
mod gated;
mod update;
#[cfg(feature = "internal-api")]
#[doc(hidden)]
pub mod __internal {
use crate::Context;
pub fn generation_cleanup_admitted(ctx: &Context) -> bool {
ctx.fiber().assert_can_register().is_ok()
}
}
pub mod lifecycle {
pub use crate::fiber::{
EraSwapError, EraSwapFailure, FiberHandle, FiberId, FiberRole, FiberState,
LifecycleOperation, LifecycleRecursion, PluginFailure, PluginFailureKind, ReadyError,
RestartError, SpawnError, UpdateError, UpdateOutcome, WaitStateError,
};
pub use crate::update::{UpdateListener, UpdateNext};
}
pub use context::Context;
pub type BoxError = Box<dyn std::error::Error + Send + Sync>;
pub mod event {
pub use crate::events::{
DispatchError, DispatchOutcomeKind, Event, EventOperation, InvocationFailure,
InvocationFailureKind, Listener, ListenerOptions, ListenerRegistration,
ListenerRegistrationError, ListenerRegistrationId, ListenerRole, Next, ParallelFailures,
QueryOutcome, Routing, Scope, StatefulCallback, around, mapper, mapper_sync, observer,
observer_sync, responder, responder_sync, with_state,
};
}
pub use event::{Event, QueryOutcome, Routing, Scope};
pub use fiber::{FiberHandle, FiberId, FiberState, UpdateOutcome};
pub use logger::{Level, Logger};
pub use plugin::{InjectSpec, Plugin, PreparedChange, PreparedPlugin};
pub use service::{ConfigurableService, Service, ServiceRealm};