1#![no_std]
6
7#[cfg(test)]
8extern crate std;
9
10pub mod chainlock;
11pub mod chainlock_guard;
12pub mod chainlock_transaction;
13mod common;
14pub mod copy;
15mod seqlock;
16mod seqlock_payload;
17
18pub use chainlock::{
19 AllowFinalized, ChainLock, RecordBackoff, Result as ChainLockResult, acquire_both_or_backoff,
20};
21pub use chainlock_guard::ChainLockGuard;
22pub use chainlock_transaction::{
23 AccountingSelector, AccountingStorage, AccountingStorageDisabled, AccountingStorageEnabled,
24 Action, AtomicToken, Bool, ChainLockTransaction, ChainLockTransactionToken, ContentionState,
25 DONE, DoneType, IntoTransactionResult, Option as TransactionOption, SavedState,
26 SelectAccounting, SelectTracing, State as TransactionState, StateOption, StateSaver, Token,
27 TraceStorage, TraceStorageDisabled, TraceStorageEnabled, TracingSelector, Transaction,
28 TransactionHooks, TransactionResult,
29};
30pub use common::{SYNC_OPT_ACQ_REL_OPS, SYNC_OPT_FENCE, SYNC_OPT_NONE, SyncOpt};
31pub use copy::{
32 MAX_TRANSFER_GRANULARITY, WellDefinedCopyable, well_defined_copy_from, well_defined_copy_to,
33};
34pub use seqlock::{ReadTransactionToken, SeqLock, SequenceNumber, WriteGuard};
35pub use seqlock_payload::SeqLockPayload;