pub enum SnapshotLocation {
Inline {
bytes: Vec<u8>,
},
Local {
path: PathBuf,
size_bytes: u64,
},
S3 {
key: String,
size_bytes: u64,
stored_size_bytes: Option<u64>,
compression: SnapshotCompression,
shared_object: bool,
},
}Expand description
Where a snapshot blob lives. Carried in SnapshotPointer over openraft.
Variants§
Inline
Bytes live inline in the location. Round-trips through openraft with no external store touch — matches the legacy in-memory snapshot shape.
Local
Bytes live on the local filesystem at path (dev / single-host).
S3
Bytes live in an object storage backend at key (S3-compatible).
Fields
§
stored_size_bytes: Option<u64>Physical object size in S3. Legacy pointers omit this and use
size_bytes as both logical and physical size.
§
compression: SnapshotCompressionCompression applied to the S3 object body.
The object key is content-addressed and may be referenced by several replicas or snapshot pointers. Shared objects must only be removed by reference-aware pruning.
Implementations§
Source§impl SnapshotLocation
impl SnapshotLocation
pub fn size_hint(&self) -> u64
pub fn stored_size_hint(&self) -> u64
pub fn compression(&self) -> SnapshotCompression
Trait Implementations§
Source§impl Clone for SnapshotLocation
impl Clone for SnapshotLocation
Source§fn clone(&self) -> SnapshotLocation
fn clone(&self) -> SnapshotLocation
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 SnapshotLocation
impl Debug for SnapshotLocation
Source§impl<'de> Deserialize<'de> for SnapshotLocation
impl<'de> Deserialize<'de> for SnapshotLocation
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for SnapshotLocation
Source§impl PartialEq for SnapshotLocation
impl PartialEq for SnapshotLocation
Source§impl Serialize for SnapshotLocation
impl Serialize for SnapshotLocation
impl StructuralPartialEq for SnapshotLocation
Auto Trait Implementations§
impl Freeze for SnapshotLocation
impl RefUnwindSafe for SnapshotLocation
impl Send for SnapshotLocation
impl Sync for SnapshotLocation
impl Unpin for SnapshotLocation
impl UnsafeUnpin for SnapshotLocation
impl UnwindSafe for SnapshotLocation
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