Skip to main content

InlineSnapshotStore

Struct InlineSnapshotStore 

Source
pub struct InlineSnapshotStore;
Expand description

Bytes live inside the pointer. Equivalent to today’s in-memory snapshot.

Trait Implementations§

Source§

impl Clone for InlineSnapshotStore

Source§

fn clone(&self) -> InlineSnapshotStore

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for InlineSnapshotStore

Source§

impl Debug for InlineSnapshotStore

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for InlineSnapshotStore

Source§

fn default() -> InlineSnapshotStore

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

impl SnapshotStore for InlineSnapshotStore

Source§

fn upload<'a>( &'a self, _key: SnapshotKey, bytes: Bytes, ) -> SnapshotStoreFuture<'a, SnapshotLocation>

Persist a snapshot blob and return its location. Stores own naming and MAY ignore parts of key (Inline does).
Source§

fn upload_iter<'a>( &'a self, _key: SnapshotKey, chunks: SnapshotBytesIterator, ) -> SnapshotStoreFuture<'a, SnapshotLocation>

Persist snapshot bytes from an incremental producer.
Source§

fn download<'a>( &'a self, location: &'a SnapshotLocation, ) -> SnapshotStoreFuture<'a, Vec<u8>>

Retrieve a snapshot blob given its location.
Source§

fn delete<'a>( &'a self, _location: &'a SnapshotLocation, ) -> SnapshotStoreFuture<'a, ()>

Best-effort delete; missing is not an error.
Source§

fn prune_retired<'a>( &'a self, _raft_group_id: u32, _current: &'a SnapshotLocation, _retain_latest: usize, ) -> SnapshotStoreFuture<'a, ()>

Best-effort prune of retired snapshots for one Raft group. Backends may only delete objects that cannot still be referenced by an OpenRaft snapshot pointer. Inline snapshots have no external lifecycle, so the default is a no-op.
Source§

fn publish_reference<'a>( &'a self, _raft_group_id: u32, _location: &'a SnapshotLocation, ) -> SnapshotStoreFuture<'a, ()>

Publish this node’s current durable pointer. External stores use these references to prove that an object is unreachable before deleting it; callers persist local metadata first and rely on the GC grace period while publishing the corresponding external reference.
Source§

fn health_check(&self) -> SnapshotStoreFuture<'_, ()>

Lightweight liveness probe for the backend, used by the snapshot driver to detect local S3 loss WITHOUT triggering a build_snapshot (whose failure openraft treats as fatal). The default is “always healthy”: in-memory and local-filesystem backends cannot be remotely unavailable. The S3 backend overrides this with a cheap stat.
Source§

fn verify_uploaded<'a>( &'a self, _location: &'a SnapshotLocation, ) -> SnapshotStoreFuture<'a, ()>

Verify that a freshly-uploaded snapshot is actually retrievable from the backend. Called immediately after upload returns Ok, before the new pointer is published. Catches silent partial-success modes (multipart upload Init/Part Ok but Complete failed, opendal retry returning Ok on cached state, etc.) that would otherwise leave current_snapshot pointing at a 404. Default no-op for backends that can’t lie about persistence (Inline keeps bytes in the pointer; Local uses a single fs syscall whose Ok means present). The S3 backend overrides this with a stat round-trip.

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> MaybeSend for T
where T: Send,

Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more