1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Sequencer subsystem for total-ordered event processing and journaling.
//!
//! This module provides the core types and traits for the single-threaded
//! Sequencer (LMAX Disruptor pattern) and its append-only event journal.
//!
//! # Types
//!
//! - [`SequencerCommand`] — commands submitted for sequenced execution
//! - [`SequencerEvent`] — sequenced events emitted after execution
//! - [`SequencerResult`] — outcomes of command execution
//! - [`JournalError`] — error type for journal operations
//! - [`Journal`] — trait for append-only event journals
//! - [`JournalEntry`] — a single entry read back from the journal
//! - [`crate::orderbook::sequencer::InMemoryJournal`] — in-memory journal implementation for testing
//! - [`crate::orderbook::sequencer::ReplayEngine`] — deterministic replay engine for event journals
//! - [`crate::orderbook::sequencer::ReplayError`] — error type for replay operations
//! - `FileJournal` — memory-mapped file journal implementation (requires `journal` feature)
//!
//! # Feature Gate
//!
//! The `FileJournal` implementation requires the `journal` feature:
//!
//! ```toml
//! [dependencies]
//! orderbook-rs = { version = "0.6", features = ["journal"] }
//! ```
//!
//! The sequencer types and [`Journal`] trait are always available.
pub use JournalError;
pub use FileJournal;
pub use InMemoryJournal;
pub use ;
pub use ;
pub use ;