pub struct VersionStore { /* private fields */ }Expand description
Persistent store for version counters per context.
Implementations§
Source§impl VersionStore
impl VersionStore
Sourcepub fn load_default() -> Result<Self>
pub fn load_default() -> Result<Self>
Load from the default path (~/.a3s/sealed-versions.json).
Sourcepub fn current_version(&self, context: &str) -> u64
pub fn current_version(&self, context: &str) -> u64
Get the current version for a context (0 if never sealed).
Sourcepub fn advance(&mut self, context: &str) -> Result<u64>
pub fn advance(&mut self, context: &str) -> Result<u64>
Advance the version for a context and persist. Returns the new version number.
Sourcepub fn check_version(&self, context: &str, blob_version: u64) -> Result<()>
pub fn check_version(&self, context: &str, blob_version: u64) -> Result<()>
Check if a versioned blob is current (not rolled back).
Returns Ok(()) if the blob’s version >= stored version,
or an error if the blob is older (rollback detected).
Auto Trait Implementations§
impl Freeze for VersionStore
impl RefUnwindSafe for VersionStore
impl Send for VersionStore
impl Sync for VersionStore
impl Unpin for VersionStore
impl UnsafeUnpin for VersionStore
impl UnwindSafe for VersionStore
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more