#![forbid(unsafe_code)]
pub mod attempt;
pub mod breaker;
pub mod builder;
pub mod classify;
pub mod concurrency;
pub mod core;
pub mod error;
pub mod event;
pub mod policy;
pub mod retry;
pub(crate) mod engine;
pub(crate) mod plan;
pub use crate::attempt::Attempt;
pub use crate::breaker::CircuitBreaker;
pub use crate::builder::{BuildError, ExecutionPolicyBuilder};
pub use crate::classify::{FailureClass, RetryDecision};
pub use crate::concurrency::{ConcurrencyLimit, SaturationPolicy};
#[cfg(feature = "tokio")]
pub use crate::core::DefaultCore;
pub use crate::core::{BoxFuture, Core};
pub use crate::error::{BreakerState, ErrorContext, ExecutionError};
pub use crate::event::Event;
pub use crate::policy::ExecutionPolicy;
pub use crate::retry::{Backoff, Jitter, Retry, RetryBudget};