pub enum FragmentRequest {
Fetch {
chunk_id: String,
fragment_id: String,
},
FetchChunkFragments {
chunk_id: String,
},
Store {
chunk_id: String,
fragment_id: String,
data: Vec<u8>,
},
Ping {
nonce: u64,
},
ProofOfStorage {
chunk_id: String,
fragment_id: String,
nonce: u64,
},
}Expand description
Request sent between Pouch nodes for fragment operations.
Variants§
Fetch
Ask a remote Pouch for a specific fragment by id.
FetchChunkFragments
Ask a remote Pouch for ALL fragments it holds for a chunk.
Store
Push a fragment to a remote Pouch for storage.
Ping
Liveness ping — expects a Pong with the same nonce.
ProofOfStorage
Proof-of-Storage challenge — expects a BLAKE3 proof.
The responder must load the fragment identified by (chunk_id, fragment_id), compute BLAKE3(raw_data || nonce.to_le_bytes()),
and return it in a FragmentResponse::ProofOfStorageOk.
Trait Implementations§
Source§impl Clone for FragmentRequest
impl Clone for FragmentRequest
Source§fn clone(&self) -> FragmentRequest
fn clone(&self) -> FragmentRequest
Returns a duplicate of the value. Read more
1.0.0 · 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 FragmentRequest
impl Debug for FragmentRequest
Source§impl<'de> Deserialize<'de> for FragmentRequest
impl<'de> Deserialize<'de> for FragmentRequest
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
Auto Trait Implementations§
impl Freeze for FragmentRequest
impl RefUnwindSafe for FragmentRequest
impl Send for FragmentRequest
impl Sync for FragmentRequest
impl Unpin for FragmentRequest
impl UnwindSafe for FragmentRequest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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