#![forbid(unsafe_code)]
pub mod attempt_runner;
pub mod backoff;
pub mod children;
pub mod handler;
pub mod identity;
pub mod pool;
pub mod retry;
pub mod timeout;
pub mod types;
pub use attempt_runner::{
AttemptOutcomeKind, AttemptOutcomeRecord, AttemptRunner, AttemptTimer, RetryDecisionInput,
SystemAttemptTimer, TimeoutCadencePolicy, TimeoutCooperation, TimeoutCooperationMetrics,
TimeoutCooperationMetricsSnapshot, TimeoutEnforcementReport,
};
pub use backoff::{BackoffConfigError, BackoffStrategy, ExponentialBackoff, FixedBackoff};
pub use children::{ChildState, ChildrenSnapshot};
pub use handler::{
AttemptMetadata, ExecutorContext, ExecutorHandler, HandlerInput, HandlerOutput,
TaskSubmissionPort,
};
pub use handler::{CancellationContext, CancellationToken};
pub use identity::{ExecutorIdentity, LocalExecutorIdentity};
pub use pool::{DispatchQueue, DispatchQueueError};
pub use retry::{can_retry, decide_retry_transition, RetryDecision, RetryDecisionError};
pub use timeout::{
classify_timeout, GuardedExecution, SystemTimeoutClock, TimeoutClassification, TimeoutClock,
TimeoutFailure, TimeoutGuard, TimeoutReasonCode,
};
pub use types::{ExecutorRequest, ExecutorResponse};