pub struct StatePageRetentionLedger {
pub format_version: u32,
pub gc_epoch: u64,
pub handles: BTreeMap<String, StatePageRetentionHandle>,
pub committed_roots: BTreeMap<String, BTreeSet<String>>,
}Expand description
Persistable host-side mark/sweep interlock for content-addressed state pages. Preparing, verifying, or durably enqueueing a root protects every declared reachable page across process restart. A committed root takes over that lease atomically before the transient handle may disappear.
Fields§
§format_version: u32§gc_epoch: u64§handles: BTreeMap<String, StatePageRetentionHandle>§committed_roots: BTreeMap<String, BTreeSet<String>>Implementations§
Source§impl StatePageRetentionLedger
impl StatePageRetentionLedger
pub fn prepare( &mut self, delta: &PreparedStateDelta, provider: &dyn StatePageProvider, ) -> Result<String, CanwuError>
pub fn verify( &mut self, handle_id: &str, provider: &dyn StatePageProvider, ) -> Result<(), CanwuError>
pub fn mark_durable_ingress( &mut self, handle_id: &str, ) -> Result<(), CanwuError>
pub fn commit(&mut self, handle_id: &str) -> Result<(), CanwuError>
pub fn abandon(&mut self, handle_id: &str) -> Result<(), CanwuError>
pub fn release_committed_root(&mut self, root: &str) -> Result<(), CanwuError>
pub fn begin_gc_epoch(&mut self) -> Result<u64, CanwuError>
pub fn reachable_page_ids(&self) -> BTreeSet<String>
pub fn sweep_candidates( &self, all_page_ids: impl IntoIterator<Item = String>, ) -> BTreeSet<String>
pub fn validate(&self) -> Result<(), CanwuError>
Trait Implementations§
Source§impl Clone for StatePageRetentionLedger
impl Clone for StatePageRetentionLedger
Source§fn clone(&self) -> StatePageRetentionLedger
fn clone(&self) -> StatePageRetentionLedger
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StatePageRetentionLedger
impl Debug for StatePageRetentionLedger
Source§impl Default for StatePageRetentionLedger
impl Default for StatePageRetentionLedger
Source§fn default() -> StatePageRetentionLedger
fn default() -> StatePageRetentionLedger
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for StatePageRetentionLedger
impl<'de> Deserialize<'de> for StatePageRetentionLedger
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<StatePageRetentionLedger, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<StatePageRetentionLedger, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for StatePageRetentionLedger
Source§impl PartialEq for StatePageRetentionLedger
impl PartialEq for StatePageRetentionLedger
Source§impl Serialize for StatePageRetentionLedger
impl Serialize for StatePageRetentionLedger
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for StatePageRetentionLedger
Auto Trait Implementations§
impl Freeze for StatePageRetentionLedger
impl RefUnwindSafe for StatePageRetentionLedger
impl Send for StatePageRetentionLedger
impl Sync for StatePageRetentionLedger
impl Unpin for StatePageRetentionLedger
impl UnsafeUnpin for StatePageRetentionLedger
impl UnwindSafe for StatePageRetentionLedger
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more