Skip to main content

Module state

Module state 

Source
Expand description

Control block state helpers for GPU-compatible kernel state.

This module provides utilities for storing kernel state either:

  • Embedded in ControlBlock’s 24-byte _reserved field (zero-copy)
  • External in separate GPU memory with a pointer in the descriptor

§Example

use ringkernel_core::prelude::*;

#[derive(Default, Clone, Copy)]
#[repr(C, align(8))]
struct OrderBookState {
    best_bid: u64,
    best_ask: u64,
    order_count: u32,
    _pad: u32,
}  // 24 bytes - fits in ControlBlock._reserved

impl EmbeddedState for OrderBookState {}

// Write state to control block
let mut block = ControlBlock::new();
let state = OrderBookState { best_bid: 100, best_ask: 101, order_count: 42, _pad: 0 };
ControlBlockStateHelper::write_embedded(&mut block, &state)?;

// Read state from control block
let restored: OrderBookState = ControlBlockStateHelper::read_embedded(&block)?;

Structs§

ControlBlockStateHelper
Helper for reading/writing state to/from ControlBlock.
StateDescriptor
Descriptor stored in _reserved when using external state.
StateSnapshot
Snapshot of kernel state for checkpointing.

Constants§

CONTROL_BLOCK_STATE_SIZE
Size of the reserved field in ControlBlock available for state storage.
STATE_DESCRIPTOR_MAGIC
Magic number for state descriptor (“STAT” in little-endian).

Traits§

EmbeddedState
Trait for state types that can be embedded directly in ControlBlock.
EmbeddedStateSize
Marker trait to verify state fits in 24 bytes at compile time.
GpuState
Trait for GPU-compatible state types that may be stored externally.