#[repr(C, align(64))]pub struct SequencedSlotsLayout4 {
pub header: LayoutHeader,
pub initialized: IndexbusAtomicU32,
pub _pad0: u32,
pub _pad_to_64: [u8; 40],
pub cursor: IndexbusAtomicU64,
pub _pad_cursor: [u8; 56],
pub gating: [SequencerGatingCell; 4],
pub slot_pool: SlotPoolLayout,
pub ring: [IndexbusAtomicU32; 1024],
}Expand description
Concrete v1 sequenced-slots layout for N=4.
This is a convenient “known size” layout for tools and smoke tests.
Fields§
§header: LayoutHeaderCommon region header (magic/version/capabilities/layout size).
initialized: IndexbusAtomicU320 = uninitialized, 1 = initializing, 2 = initialized
_pad0: u32Padding (reserved).
_pad_to_64: [u8; 40]Pad to 64 so the first counter starts at offset 64.
cursor: IndexbusAtomicU64Producer cursor (monotonic sequence).
_pad_cursor: [u8; 56]Padding to keep the cursor in its own cache line.
gating: [SequencerGatingCell; 4]Per-consumer gating sequences.
slot_pool: SlotPoolLayoutSlot pool storing payload bytes.
ring: [IndexbusAtomicU32; 1024]Ring mapping seq -> slot index.
Implementations§
Source§impl SequencedSlotsLayout4
impl SequencedSlotsLayout4
Sourcepub const REQUIRED_CAPS: u32 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REQUIRED_CAPS
pub const REQUIRED_CAPS: u32 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REQUIRED_CAPS
Capabilities required for this region to be considered compatible.
Sourcepub const REGION_KIND: u16 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REGION_KIND
pub const REGION_KIND: u16 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REGION_KIND
Region kind discriminator stored in LayoutHeader.flags.
Sourcepub const REGION_KIND_MASK: u16 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REGION_KIND_MASK
pub const REGION_KIND_MASK: u16 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::REGION_KIND_MASK
Mask for the low 8 bits containing the region kind discriminator.
Sourcepub const EMPTY_RING: u32 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::EMPTY_RING
pub const EMPTY_RING: u32 = SequencedSlotsLayout<BYTEOR_SEQUENCED_SLOTS_CONSUMERS_DEFAULT>::EMPTY_RING
Sentinel stored in ring entries before a slot is published.
Auto Trait Implementations§
impl !Freeze for SequencedSlotsLayout4
impl !RefUnwindSafe for SequencedSlotsLayout4
impl Send for SequencedSlotsLayout4
impl Sync for SequencedSlotsLayout4
impl Unpin for SequencedSlotsLayout4
impl UnwindSafe for SequencedSlotsLayout4
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more