indexbus_abi/constants.rs
1/// v1 constants (must match generated C headers).
2/// Fixed bytes available per slot payload.
3pub const INDEXBUS_SLOT_DATA_SIZE: usize = 256;
4
5/// Number of slots in the shared pool.
6pub const INDEXBUS_SLOTS_CAPACITY: usize = 1024;
7
8/// Ring queue capacity (MUST be power-of-two).
9pub const INDEXBUS_QUEUE_CAPACITY: usize = 1024;
10
11/// Default fanout consumer count used by examples.
12pub const INDEXBUS_FANOUT_CONSUMERS_DEFAULT: usize = 4;
13
14/// Default sequencer consumer count used by concrete v1 layouts.
15pub const INDEXBUS_SEQUENCER_CONSUMERS_DEFAULT: usize = 4;
16
17/// Concrete v1 journal configuration (kept explicit to stabilize headers/tests).
18pub const INDEXBUS_JOURNAL_SUBSCRIBERS_DEFAULT: usize = 4;
19/// Number of segments in the concrete v1 journal layout.
20pub const INDEXBUS_JOURNAL_SEGMENTS: usize = 3;
21/// Bytes per segment in the concrete v1 journal layout.
22pub const INDEXBUS_JOURNAL_SEGMENT_BYTES: usize = 64 * 1024;
23
24/// Free-list empty sentinel.
25pub const INDEXBUS_EMPTY_FREE_U32: u32 = 0xFFFF_FFFF;