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