mod attest;
mod causal_store;
mod composer;
mod dot;
mod dot_fun;
mod dot_set;
mod epoch;
mod event;
mod gate;
mod ideal;
mod metathesis;
mod node;
mod producer;
mod purview;
mod retirement;
mod rhapsody;
mod scholia;
mod scope;
mod span;
mod stability;
#[cfg(fuzzing)]
pub mod fuzz_harness;
#[cfg(test)]
mod tests;
#[cfg(all(fuzzing, not(test)))]
mod tests;
mod version_vector;
pub use attest::Cut;
pub use causal_store::{DotCollision, DotMap, DotMapIter, DotStore, Dotted, UncoveredDot};
pub use composer::Composer;
pub use dot::{Dot, InvalidDot, RawDot};
pub use dot_fun::{DotFun, DotFunIter};
pub use dot_set::{DotSet, DotSetStation, HaveSetDecodeBudget, HaveSetDecodeError};
#[cfg(feature = "instrumentation")]
pub use epoch::EpochShadowProfile;
pub use epoch::{
Admission, Adopted, AdoptionReportDecodeError, AdoptionReportRecord, ArrivalRefusal,
ArrivalRound, ConfirmationDecodeError, ConfirmationRecord, Consigned, Declaration,
DeclarationDecodeError, Endorsement, EndorsementDecodeBudget, EndorsementDecodeError,
EpochAddress, EpochAdoptionMismatch, EpochBootstrapError, EpochConsignment,
EpochConsignmentError, EpochGate, EpochLedgerDecodeBudget, EpochLedgerDecodeError,
EpochLedgerRehydrateError, EpochLedgerSnapshot, EpochPreparation, EpochPreparationFold,
EpochPreparationMiss, EpochProjection, EpochRefusal, EpochShadow, EpochStratum,
EpochStratumError, EpochTransition, Epochs, InvalidEpochAddress, LineageProofDecodeBudget,
LineageProofDecodeError, LineageProofEntry, LineageProofRecord, SealDecodeBudget,
SealDecodeError, SealRecord, SealedEpoch, SweptIdentity, Vouched, WireCutError,
};
pub use event::Event;
pub use gate::{
And, AndProgress, Causal, Fifo, Gate, GateLawCheckError, GateLawPoint, ReleaseDrivenGate,
check_gate_laws,
};
pub use ideal::{AtCapacity, BoundedInsert, CausalIdeal, FifoIdeal, Ideal, Released};
pub type EpochIdeal<T> = Ideal<T, EpochGate>;
pub use metathesis::{Metatheses, MetathesesDecodeBudget, MetathesesDecodeError, Metathesis};
pub use node::{Kind, KindPlurality, Kinds, Node, NodeContent};
pub use producer::{ClockCarrier, Producer};
pub use purview::{Purview, Received};
pub use retirement::{Retired, Retirement};
pub use rhapsody::{
AncestryAdmissionError, AncestryCoordinateError, AncestryQueryError, AncestryRelation, Anchor,
ExactAncestry, Extent, Locus, MovementBatch, MovementBatchError, OrderWalk, OrderWalkRev,
Recension, RefoundMap, RefoundMapDecodeBudget, RefoundMapDecodeError, Refounded, Rhapsody,
RhapsodyDecodeError, SnapshotDecodeError, UnsealedStratum, Verge,
};
#[cfg(feature = "instrumentation")]
pub use rhapsody::{AncestryProfile, RecensionProfile, RhapsodyProfile};
#[cfg(feature = "timing")]
pub use rhapsody::{
MovementBatchMoveProfile, MovementCycleValidationProfile, MovementCycleValidationWork,
MovementTopologyPhases, MovementTopologyProfile, MovementTopologyWork, ProfiledMovement,
};
#[cfg(any(test, kani))]
pub(crate) use rhapsody::rank_successor;
pub use scholia::{Scholia, Scholion};
pub use scope::{Scope, Scoped, ScopedPeek, with_scope};
pub use stability::{
AbandonRefusal, Abandoned, Departed, Departure, DepartureRefusal, Fenced, Stability,
UnknownStation,
};
pub use version_vector::{DecodeError, Disagreement, Iter, VersionVector};