#[repr(C)]pub struct PieceHeader {
pub shard_index: Unaligned<ShardIndex>,
pub local_segment_index: Unaligned<LocalSegmentIndex>,
pub super_segment_index: Unaligned<SuperSegmentIndex>,
pub segment_position: Unaligned<SegmentPosition>,
pub segment_root: SegmentRoot,
pub segment_proof: SegmentProof,
pub parity_chunks_root: RecordChunksRoot,
pub record_proof: RecordProof,
}Expand description
Header for a piece of archival history.
Primarily contains information needed for piece verification.
Fields§
§shard_index: Unaligned<ShardIndex>Shard index
local_segment_index: Unaligned<LocalSegmentIndex>Local segment index
super_segment_index: Unaligned<SuperSegmentIndex>Super segment index
segment_position: Unaligned<SegmentPosition>Position of the segment in the super segment
segment_root: SegmentRootSegment root
segment_proof: SegmentProofSegment proof
parity_chunks_root: RecordChunksRootRoot of parity record chunks.
Technically redundant, but helps to avoid repeating erasure coding during verification.
record_proof: RecordProofProof that the record (root) belongs to a segment
Trait Implementations§
Source§impl Clone for PieceHeader
impl Clone for PieceHeader
Source§fn clone(&self) -> PieceHeader
fn clone(&self) -> PieceHeader
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 PieceHeader
impl Debug for PieceHeader
Source§impl Decode for PieceHeader
impl Decode for PieceHeader
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error>where
I: Input,
Attempt to skip the encoded value from input. Read more
§fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
Source§impl Default for PieceHeader
impl Default for PieceHeader
Source§fn default() -> PieceHeader
fn default() -> PieceHeader
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PieceHeader
impl<'de> Deserialize<'de> for PieceHeader
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
Source§impl Encode for PieceHeader
impl Encode for PieceHeader
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
Source§impl PartialEq for PieceHeader
impl PartialEq for PieceHeader
Source§impl Serialize for PieceHeader
impl Serialize for PieceHeader
Source§impl TrivialType for PieceHeaderwhere
Unaligned<ShardIndex>: TrivialType,
Unaligned<LocalSegmentIndex>: TrivialType,
Unaligned<SuperSegmentIndex>: TrivialType,
Unaligned<SegmentPosition>: TrivialType,
SegmentRoot: TrivialType,
SegmentProof: TrivialType,
RecordChunksRoot: TrivialType,
RecordProof: TrivialType,
impl TrivialType for PieceHeaderwhere
Unaligned<ShardIndex>: TrivialType,
Unaligned<LocalSegmentIndex>: TrivialType,
Unaligned<SuperSegmentIndex>: TrivialType,
Unaligned<SegmentPosition>: TrivialType,
SegmentRoot: TrivialType,
SegmentProof: TrivialType,
RecordChunksRoot: TrivialType,
RecordProof: TrivialType,
Source§const METADATA: &[u8]
const METADATA: &[u8]
Data structure metadata in binary form, describing shape and types of the contents, see
[
IoTypeMetadataKind] for encoding details.const SIZE: u32 = _
§unsafe fn read_unaligned(bytes: &[u8]) -> Option<Self>
unsafe fn read_unaligned(bytes: &[u8]) -> Option<Self>
Read unaligned value from memory. Read more
§unsafe fn read_unaligned_unchecked(bytes: &[u8]) -> Self
unsafe fn read_unaligned_unchecked(bytes: &[u8]) -> Self
Similar to [
Self::read_unaligned()], but doesn’t do any checks at all. Read more§unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
unsafe fn from_bytes(bytes: &[u8]) -> Option<&Self>
Create a reference to a type, which is represented by provided memory. Read more
§unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
Similar to [
Self::from_bytes()], but doesn’t do any checks at all. Read more§unsafe fn from_bytes_mut(bytes: &mut [u8]) -> Option<&mut Self>
unsafe fn from_bytes_mut(bytes: &mut [u8]) -> Option<&mut Self>
Create a mutable reference to a type, which is represented by provided memory. Read more
§unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
Similar to [
Self::from_bytes_mut()], but doesn’t do any checks at all. Read more§unsafe fn as_bytes_mut(&mut self) -> &mut [u8; { _ }]
unsafe fn as_bytes_mut(&mut self) -> &mut [u8; { _ }]
Access the underlying mutable byte representation of a data structure. Read more
impl Copy for PieceHeader
impl EncodeLike for PieceHeader
impl Eq for PieceHeader
impl StructuralPartialEq for PieceHeader
Auto Trait Implementations§
impl Freeze for PieceHeader
impl RefUnwindSafe for PieceHeader
impl Send for PieceHeader
impl Sync for PieceHeader
impl Unpin for PieceHeader
impl UnsafeUnpin for PieceHeader
impl UnwindSafe for PieceHeader
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> DecodeAll for Twhere
T: Decode,
impl<T> DecodeAll for Twhere
T: Decode,
§fn decode_all(input: &mut &[u8]) -> Result<T, Error>
fn decode_all(input: &mut &[u8]) -> Result<T, Error>
Decode
Self and consume all of the given input data. Read more§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
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§impl<T> IoType for Twhere
T: TrivialType,
impl<T> IoType for Twhere
T: TrivialType,
§const METADATA: &'static [u8] = T::METADATA
const METADATA: &'static [u8] = T::METADATA
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind for encoding details§type PointerType = T
type PointerType = T
Pointer with a trivial type that this
IoType represents§unsafe fn from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> impl Deref<Target = T> + 'a
unsafe fn from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> impl Deref<Target = T> + 'a
Create a reference to a type, which is represented by provided memory. Read more
§unsafe fn from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
_size: &'a mut u32,
capacity: u32,
) -> impl DerefMut + 'a
unsafe fn from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, _size: &'a mut u32, capacity: u32, ) -> impl DerefMut + 'a
Create a mutable reference to a type, which is represented by provided memory. Read more
§unsafe fn as_ptr(
&self,
) -> impl Deref<Target = NonNull<<T as IoType>::PointerType>>
unsafe fn as_ptr( &self, ) -> impl Deref<Target = NonNull<<T as IoType>::PointerType>>
Get a raw pointer to the underlying data with no checks. Read more
§unsafe fn as_mut_ptr(&mut self) -> impl DerefMut
unsafe fn as_mut_ptr(&mut self) -> impl DerefMut
Get an exclusive raw pointer to the underlying data with no checks. Read more