Expand description
Typed atomic cells in one fleet-shared SHM table, addressed by id.
A cell is a place, not a name. Cells::allocate takes a slot, stamps
its type and hands back an Orbital handle whose CellId is the
only thing that ever needs to travel: any process in the fleet that
Cells::opens the id reads and updates the same 64 bits, atomically,
without a lock and without publishing a frame. orbit-counter is the
keyed sibling; this is memory rather than a dictionary.
Every id carries the slot’s generation. Cells::release bumps it, so a
handle kept past a release answers Error::Stale instead of touching
whoever took the slot next. Cells have no lifetime of their own: what
allocates one is expected to release it.
Structs§
- CellId
- The address of one cell: its slot and the generation it was allocated in.
- Cells
- The fleet’s cell tables, scalar and text. Cheap to clone.
- Orbital
- One cell, typed. Cheap to clone; every clone is the same place.
- Text
- One text cell. Cheap to clone; every clone is the same place.
- TextId
- The address of one text cell; prints as
text:<slot>:<generation>.
Enums§
- Claim
- What
Orbital::add_untildid. A bounded add either takes some of what is left or finds nothing left; there is no third answer, and no value past the limit is ever written. - Error
- Additions are expected: a cause discovered later lands here rather than in a new major version, so a caller matches what it handles and leaves the rest to a catch-all.
Constants§
- CELL_
CAPACITY - Number of cells one fleet generation can hold at once.
- CELL_
STATE_ KIND - Reserved Orbit SHM kind for the cell table.
- CELL_
TEXT_ CAPACITY - Number of text cells one fleet generation can hold at once.
- CELL_
TEXT_ KIND - Reserved Orbit SHM kind for the text cell table.
- CELL_
TEXT_ MAX - Bytes one text cell can hold.
Traits§
- Cell
Type - A value that fits one cell: 64 bits, and a tag that says which type they spell.