1#![deny(missing_docs)]
16#![deny(unsafe_op_in_unsafe_fn)]
17
18mod cas_decision;
19mod cas_outcome;
20mod cas_success;
21pub mod constants;
22pub mod error;
23pub mod event;
24pub mod executor;
25pub mod observability;
26pub mod options;
27pub mod report;
28pub mod strategy;
29
30pub use cas_decision::CasDecision;
31pub use cas_outcome::CasOutcome;
32pub use cas_success::CasSuccess;
33pub use error::{CasAttemptFailure, CasAttemptFailureKind, CasError, CasErrorKind};
34pub use event::{CasContext, CasEvent, CasHooks};
35pub use executor::{CasBuilder, CasExecutor};
36pub use observability::{
37 CasAlert, CasObservabilityConfig, CasObservabilityMode, ContentionThresholds,
38 ListenerPanicPolicy,
39};
40pub use options::CasTimeoutPolicy;
41pub use report::{CasExecutionOutcome, CasExecutionReport};
42pub use strategy::{CasStrategy, CasStrategyProfile};