Skip to main content

LocalSerializableState

Struct LocalSerializableState 

Source
pub struct LocalSerializableState(/* private fields */);
Expand description

One admission gate for every adapter over an exclusively owned database. Live participants retain both this gate and the physical owner, preventing adapter churn from replacing their liveness registry. The provider separately persists the graph and allocation watermark.

Implementations§

Source§

impl LocalSerializableState

Source

pub fn with_admission<O: Send + Sync + 'static, T>( self: &Arc<Self>, owner: &Arc<O>, control: &StorageReadControl, operation: impl FnOnce(&dyn SerializableLeases) -> VersionResult<T>, ) -> VersionResult<T>

Wait cancellably for shared admission and invoke the operation once. Lease release uses a separate registry lock, so the final participant may be dropped inside this operation without deadlocking. The borrowed owner remains retained throughout admission; native final-close work can run only afterward. The physical owner must enforce exclusive access by other processes.

Trait Implementations§

Source§

impl Default for LocalSerializableState

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.