#[repr(C)]pub struct PieceArray(/* private fields */);
Expand description
A piece of archival history.
This version is allocated on the stack, for heap-allocated piece see Piece
.
Internally a piece contains a record, followed by record root, supplementary record chunk root and a proof proving this piece belongs to can be used to verify that a piece belongs to the actual archival history of the blockchain.
Implementations§
Source§impl PieceArray
impl PieceArray
Sourcepub fn is_valid(&self, segment_root: &SegmentRoot, position: u32) -> bool
pub fn is_valid(&self, segment_root: &SegmentRoot, position: u32) -> bool
Validate proof embedded within a piece produced by the archiver
Sourcepub fn split(&self) -> (&Record, &RecordRoot, &RecordChunksRoot, &RecordProof)
pub fn split(&self) -> (&Record, &RecordRoot, &RecordChunksRoot, &RecordProof)
Split piece into underlying components.
Sourcepub fn split_mut(
&mut self,
) -> (&mut Record, &mut RecordRoot, &mut RecordChunksRoot, &mut RecordProof)
pub fn split_mut( &mut self, ) -> (&mut Record, &mut RecordRoot, &mut RecordChunksRoot, &mut RecordProof)
Split piece into underlying mutable components.
Sourcepub fn record_mut(&mut self) -> &mut Record
pub fn record_mut(&mut self) -> &mut Record
Mutable record contained within a piece.
Sourcepub fn root(&self) -> &RecordRoot
pub fn root(&self) -> &RecordRoot
Root contained within a piece.
Sourcepub fn root_mut(&mut self) -> &mut RecordRoot
pub fn root_mut(&mut self) -> &mut RecordRoot
Mutable root contained within a piece.
Sourcepub fn parity_chunks_root(&self) -> &RecordChunksRoot
pub fn parity_chunks_root(&self) -> &RecordChunksRoot
Parity chunks root contained within a piece.
Sourcepub fn parity_chunks_root_mut(&mut self) -> &mut RecordChunksRoot
pub fn parity_chunks_root_mut(&mut self) -> &mut RecordChunksRoot
Mutable parity chunks root contained within a piece.
Sourcepub fn proof(&self) -> &RecordProof
pub fn proof(&self) -> &RecordProof
Proof contained within a piece.
Sourcepub fn proof_mut(&mut self) -> &mut RecordProof
pub fn proof_mut(&mut self) -> &mut RecordProof
Mutable proof contained within a piece.
Sourcepub fn slice_to_repr(value: &[Self]) -> &[[u8; 1048896]]
pub fn slice_to_repr(value: &[Self]) -> &[[u8; 1048896]]
Convenient conversion from slice of piece array to underlying representation for efficiency purposes.
Sourcepub fn slice_from_repr(value: &[[u8; 1048896]]) -> &[Self]
pub fn slice_from_repr(value: &[[u8; 1048896]]) -> &[Self]
Convenient conversion from slice of underlying representation to piece array for efficiency purposes.
Sourcepub fn slice_mut_to_repr(value: &mut [Self]) -> &mut [[u8; 1048896]]
pub fn slice_mut_to_repr(value: &mut [Self]) -> &mut [[u8; 1048896]]
Convenient conversion from mutable slice of piece array to underlying representation for efficiency purposes.
Sourcepub fn slice_mut_from_repr(value: &mut [[u8; 1048896]]) -> &mut [Self]
pub fn slice_mut_from_repr(value: &mut [[u8; 1048896]]) -> &mut [Self]
Convenient conversion from mutable slice of underlying representation to piece array for efficiency purposes.
Trait Implementations§
Source§impl AsMut<[u8]> for PieceArray
impl AsMut<[u8]> for PieceArray
Source§impl AsRef<[u8]> for PieceArray
impl AsRef<[u8]> for PieceArray
Source§impl Clone for PieceArray
impl Clone for PieceArray
Source§fn clone(&self) -> PieceArray
fn clone(&self) -> PieceArray
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PieceArray
impl Debug for PieceArray
Source§impl Default for PieceArray
impl Default for PieceArray
Source§impl Deref for PieceArray
impl Deref for PieceArray
Source§impl DerefMut for PieceArray
impl DerefMut for PieceArray
Source§impl From<&PieceArray> for &[u8; 1048896]
impl From<&PieceArray> for &[u8; 1048896]
Source§fn from(value: &PieceArray) -> Self
fn from(value: &PieceArray) -> Self
Source§impl From<&PieceArray> for Piece
impl From<&PieceArray> for Piece
Source§fn from(value: &PieceArray) -> Self
fn from(value: &PieceArray) -> Self
Source§impl From<&mut PieceArray> for &mut [u8; 1048896]
impl From<&mut PieceArray> for &mut [u8; 1048896]
Source§fn from(value: &mut PieceArray) -> Self
fn from(value: &mut PieceArray) -> Self
Source§impl Hash for PieceArray
impl Hash for PieceArray
Source§impl Ord for PieceArray
impl Ord for PieceArray
Source§fn cmp(&self, other: &PieceArray) -> Ordering
fn cmp(&self, other: &PieceArray) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for PieceArray
impl PartialEq for PieceArray
Source§impl PartialOrd for PieceArray
impl PartialOrd for PieceArray
impl Copy for PieceArray
impl Eq for PieceArray
impl StructuralPartialEq for PieceArray
Auto Trait Implementations§
impl Freeze for PieceArray
impl RefUnwindSafe for PieceArray
impl Send for PieceArray
impl Sync for PieceArray
impl Unpin for PieceArray
impl UnwindSafe for PieceArray
Blanket Implementations§
§impl<T, U> AsByteSlice<T> for U
impl<T, U> AsByteSlice<T> for U
fn as_byte_slice(&self) -> &[u8] ⓘ
§impl<T, U> AsMutByteSlice<T> for U
impl<T, U> AsMutByteSlice<T> for U
fn as_mut_byte_slice(&mut self) -> &mut [u8] ⓘ
§impl<U> AsMutSliceOf for U
impl<U> AsMutSliceOf for U
fn as_mut_slice_of<T>(&mut self) -> Result<&mut [T], Error>where
T: FromByteSlice,
§impl<U> AsSliceOf for U
impl<U> AsSliceOf for U
fn as_slice_of<T>(&self) -> Result<&[T], Error>where
T: FromByteSlice,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Lower case
letters are used (e.g. f9b4ca
)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
self
into the result. Upper case
letters are used (e.g. F9B4CA
)