pub enum Encoding {
Replicated,
ReedSolomon {
k: u8,
m: u8,
},
}Expand description
Replication encoding for a chunked blob. v0.2 only supports
Replicated; ReedSolomon { k, m } is reserved on the wire so
v0.3 can land erasure coding without a manifest format change.
Wire-encoded via postcard; the unit-variant Replicated
occupies 1 byte (varint discriminant 0), ReedSolomon { k, m }
occupies 3 bytes (varint 1 + two u8).
Variants§
Replicated
N identical replicas of every chunk; the only encoding
supported in v0.2. Survives loss of replication_factor - 1
nodes per chunk; correlated failures depend on placement
tags. See DATAFORTS_BLOB_STORAGE_PLAN.md § W-2.
ReedSolomon
Reed–Solomon (k, m) erasure coding. Reserved for v0.3;
constructing this variant is allowed for forward-compat
testing, but the v0.2 store / fetch paths reject it with a
BlobError::UnsupportedEncoding variant added in PR-2.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Encoding
impl<'de> Deserialize<'de> for Encoding
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>,
impl Copy for Encoding
impl Eq for Encoding
impl StructuralPartialEq for Encoding
Auto Trait Implementations§
impl Freeze for Encoding
impl RefUnwindSafe for Encoding
impl Send for Encoding
impl Sync for Encoding
impl Unpin for Encoding
impl UnsafeUnpin for Encoding
impl UnwindSafe for Encoding
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
Source§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.