Module layouts

Module layouts 

Source
Expand description

#[repr(C)] shared-memory layouts. #[repr(C)] v1 ABI layouts.

Rules:

  • Rust is the source of truth.
  • Layouts are append-only in v1 (use LayoutHeader.layout_bytes + capabilities).

Re-exports§

pub use common::IndexQueue;
pub use common::MpscQueue;
pub use common::Slot;
pub use common::SlotPoolLayout;
pub use fanout::SharedFanoutLayout;
pub use fanout::SharedFanoutLayout4;
pub use journal::JournalLayout4;
pub use journal::JournalStatsSection4;
pub use journal::SegmentMeta;
pub use sequencer::SequencerGatingCell;
pub use sequencer::SequencerLayout;
pub use sequencer::SequencerLayout4;
pub use shared::SharedLayout;
pub use state::StateLayout;
pub use state::StateLayout256;
pub use wake::FanoutWakeSection;
pub use wake::FanoutWakeSection4;
pub use wake::JournalWakeSection4;
pub use wake::SequencerWakeSection;
pub use wake::SequencerWakeSection4;
pub use wake::SharedWakeSection;
pub use wake::StateWakeSection;
pub use wake::WakeCell;

Modules§

common
Common queue and slot layouts reused by multiple regions.
fanout
Fanout events region layouts.
journal
Journal (append-only log) region layouts.
sequencer
Sequencer + gating region layouts.
shared
Shared events region layout.
state
State stream region layouts.
wake
Optional appended wake sections.