pub struct StoreRequest {
pub hash: ContentHash,
pub holder: NodeId,
pub coverage: Coverage,
}Expand description
Publish a content record: “I hold this hash” (ADR 022 §Message Types,
§STORE Flow). Sent by the holder to each of the K+3 nodes closest to
hash in keyspace.
There is no per-record signature: the receiver MUST instead check that
holder equals the authenticated NodeId of the inbound QUIC connection.
Records are never relayed peer-to-peer; if that changes, a per-record
signature MUST be reintroduced (see module docs).
Fields§
§hash: ContentHashBLAKE3 hash of the content being advertised.
holder: NodeIdThe NodeId claiming to hold this hash. MUST equal the authenticated
QUIC NodeId of the connection; the receiver rejects mismatches.
coverage: CoverageDiscovery blocks the holder reports covering for hash.
Trait Implementations§
Source§impl Clone for StoreRequest
impl Clone for StoreRequest
Source§impl Debug for StoreRequest
impl Debug for StoreRequest
Source§impl<'de> Deserialize<'de> for StoreRequest
impl<'de> Deserialize<'de> for StoreRequest
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 StoreRequest
Source§impl PartialEq for StoreRequest
impl PartialEq for StoreRequest
Source§impl Serialize for StoreRequest
impl Serialize for StoreRequest
impl StructuralPartialEq for StoreRequest
Auto Trait Implementations§
impl Freeze for StoreRequest
impl RefUnwindSafe for StoreRequest
impl Send for StoreRequest
impl Sync for StoreRequest
impl Unpin for StoreRequest
impl UnsafeUnpin for StoreRequest
impl UnwindSafe for StoreRequest
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