pub struct StableCell<T: Storable, M: Memory = DefaultMemoryImpl> { /* private fields */ }Expand description
StableCell
A cached, checksummed value persisted in an exclusively leased allocation. Loading is read-only and requires a caller-selected payload byte ceiling.
Implementations§
Source§impl<T: Storable, M: Memory> StableCell<T, M>
impl<T: Storable, M: Memory> StableCell<T, M>
Sourcepub fn create(
memory: RuntimeMemory<M>,
value: T,
) -> Result<Self, CollectionError>
pub fn create( memory: RuntimeMemory<M>, value: T, ) -> Result<Self, CollectionError>
Create in empty memory, admitting encoding and bounds before writes.
§Errors
Rejects nonempty memory, invalid encoding/bounds or capacity refusal before writing.
Sourcepub fn reset(
memory: RuntimeMemory<M>,
value: T,
) -> Result<Self, CollectionError>
pub fn reset( memory: RuntimeMemory<M>, value: T, ) -> Result<Self, CollectionError>
Explicitly replace contents. Backing failures retain host rollback semantics.
§Errors
Rejects invalid encoding/bounds or capacity refusal before replacing contents.
Sourcepub fn load(
memory: RuntimeMemory<M>,
maximum: usize,
) -> Result<Self, CollectionError>
pub fn load( memory: RuntimeMemory<M>, maximum: usize, ) -> Result<Self, CollectionError>
Load without writing. Admit the smaller of maximum and the codec bound
before allocating, then verify integrity before decoding application data.
§Errors
Rejects foreign, corrupt or oversized records and incompatible codec bounds.
§Panics
Propagates backing panics or a faulty caller codec; no native rollback is provided.
Sourcepub fn set(&mut self, value: T) -> Result<T, CollectionError>
pub fn set(&mut self, value: T) -> Result<T, CollectionError>
Persist a replacement and return the old value. Admission and growth refusal preserve existing bytes. Native interrupted writes are not atomic.
§Errors
Rejects invalid indices, encoding, bounds or capacity refusal before writes.