#![deny(missing_docs)]
#![deny(unsafe_op_in_unsafe_fn)]
mod cas_decision;
mod cas_outcome;
mod cas_success;
pub mod constants;
pub mod error;
pub mod event;
pub mod executor;
pub mod observability;
pub mod options;
pub mod report;
pub mod strategy;
pub use cas_decision::CasDecision;
pub use cas_outcome::CasOutcome;
pub use cas_success::CasSuccess;
pub use error::{CasAttemptFailure, CasAttemptFailureKind, CasError, CasErrorKind};
pub use event::{CasContext, CasEvent, CasHooks};
pub use executor::{CasBuilder, CasExecutor};
pub use observability::{
CasAlert, CasObservabilityConfig, CasObservabilityMode, ContentionThresholds,
ListenerPanicPolicy,
};
pub use options::CasTimeoutPolicy;
pub use report::{CasExecutionOutcome, CasExecutionReport};
pub use strategy::{CasStrategy, CasStrategyProfile};