pub enum ResourceMetadata<'a> {
None,
Packed(&'a [u8]),
SentInFirstSegment {
packed_len: u32,
},
}Expand description
RNS 1.4.2 resource metadata on the send side: packed msgpack bytes the engine never unpacks, carried at the head of the stream as 3-byte-BE-length ‖ packed and covered by the resource hash, the advertised d, and (when one wins) the compressed stream.
On a split transfer the block rides segment one only, but every segment advertises the metadata flag and a d that includes the block.
The reference threads this through sent_metadata_size; ResourceMetadata::SentInFirstSegment is that parameter by name.
Variants§
None
Packed(&'a [u8])
This (first or only) segment carries the block in-stream.
SentInFirstSegment
A later segment of a split whose first segment carried the block: the flag and the d accounting still travel, the bytes do not.
Implementations§
Trait Implementations§
Source§impl<'a> Clone for ResourceMetadata<'a>
impl<'a> Clone for ResourceMetadata<'a>
Source§fn clone(&self) -> ResourceMetadata<'a>
fn clone(&self) -> ResourceMetadata<'a>
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 moreimpl<'a> Copy for ResourceMetadata<'a>
Source§impl<'a> Debug for ResourceMetadata<'a>
impl<'a> Debug for ResourceMetadata<'a>
Source§impl<'a> Default for ResourceMetadata<'a>
impl<'a> Default for ResourceMetadata<'a>
Source§fn default() -> ResourceMetadata<'a>
fn default() -> ResourceMetadata<'a>
Returns the “default value” for a type. Read more
impl<'a> Eq for ResourceMetadata<'a>
Source§impl<'a> PartialEq for ResourceMetadata<'a>
impl<'a> PartialEq for ResourceMetadata<'a>
impl<'a> StructuralPartialEq for ResourceMetadata<'a>
Auto Trait Implementations§
impl<'a> Freeze for ResourceMetadata<'a>
impl<'a> RefUnwindSafe for ResourceMetadata<'a>
impl<'a> Send for ResourceMetadata<'a>
impl<'a> Sync for ResourceMetadata<'a>
impl<'a> Unpin for ResourceMetadata<'a>
impl<'a> UnsafeUnpin for ResourceMetadata<'a>
impl<'a> UnwindSafe for ResourceMetadata<'a>
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