indexbus_abi/layouts/
mod.rs

1//! `#[repr(C)]` v1 ABI layouts.
2//!
3//! Rules:
4//! - Rust is the source of truth.
5//! - Layouts are append-only in v1 (use `LayoutHeader.layout_bytes` + `capabilities`).
6
7/// Common queue and slot layouts reused by multiple regions.
8pub mod common;
9/// Fanout events region layouts.
10pub mod fanout;
11/// Journal (append-only log) region layouts.
12pub mod journal;
13/// Sequencer + gating region layouts.
14pub mod sequencer;
15/// Shared events region layout.
16pub mod shared;
17/// State stream region layouts.
18pub mod state;
19/// Optional appended wake sections.
20pub mod wake;
21
22pub use common::{IndexQueue, MpscQueue, Slot, SlotPoolLayout};
23pub use fanout::{SharedFanoutLayout, SharedFanoutLayout4};
24pub use journal::{JournalLayout4, JournalStatsSection4, SegmentMeta};
25pub use sequencer::{SequencerGatingCell, SequencerLayout, SequencerLayout4};
26pub use shared::SharedLayout;
27pub use state::{StateLayout, StateLayout256};
28pub use wake::{
29    FanoutWakeSection, FanoutWakeSection4, JournalWakeSection4, SequencerWakeSection,
30    SequencerWakeSection4, SharedWakeSection, StateWakeSection, WakeCell,
31};