pub struct ParameterTable<'s> { /* private fields */ }Expand description
The slot table a ParameterServer borrows.
phase-382 W2’ — the server’s storage is CALLER-OWNED, and this newtype is
what makes that expressible without publishing the slot type. A slot is a
ParameterEntry, which stays PRIVATE (it is the store’s internal slot
layout, not an API); a consumer that only needs to name the storage —
nros-node, which carves it out of the executor backing in W3’ — names a
ParameterTable instead.
The table’s LENGTH is the server’s capacity. MAX_PARAMETERS is the
DEFAULT capacity (see ParameterStorage), not a bound the borrow
re-imposes: a caller who hands over a longer or shorter table gets exactly
that many slots, and every capacity question the server answers
(is_full, the declare path) reads it from
here.
Implementations§
Source§impl<'s> ParameterTable<'s>
impl<'s> ParameterTable<'s>
Source§impl<'s> ParameterTable<'s>
impl<'s> ParameterTable<'s>
Sourcepub fn init_in(
slots: &'s mut [MaybeUninit<ParameterSlot>],
) -> ParameterTable<'s>
pub fn init_in( slots: &'s mut [MaybeUninit<ParameterSlot>], ) -> ParameterTable<'s>
Initialise slots to empty IN PLACE and borrow them as a table.
phase-382 W3’ — the home the executor carves for its store. Each slot is written through its own pointer, so the largest stack temporary is one slot, never the table (issue 0756’s hazard, which a carved region avoids by construction as long as nothing builds the table by value). Any length works; the length is the capacity, as for every table.