pub struct SectorMetadataChecksummed(/* private fields */);Expand description
Same as SectorMetadata, but with checksums verified during SCALE encoding/decoding
Implementations§
Source§impl SectorMetadataChecksummed
impl SectorMetadataChecksummed
Sourcepub const fn disk_size() -> usize
pub const fn disk_size() -> usize
Size of checksummed sector metadata on disk.
Sector metadata is padded with zeroes to a multiple of [AlignedPage::SIZE], such that it
can be written with direct I/O without read-modify-write, see Self::encode_for_disk().
For sector plot size use sector_size().
Sourcepub fn encode_for_disk(&self) -> Box<[u8; 135168]>
pub fn encode_for_disk(&self) -> Box<[u8; 135168]>
Encode checksummed sector metadata for storing on disk, padded with zeroes to
Self::disk_size()
Sourcepub fn decode_from_disk(bytes: &[u8; 135168]) -> Result<Self, Error>
pub fn decode_from_disk(bytes: &[u8; 135168]) -> Result<Self, Error>
Decode checksummed sector metadata stored on disk, the inverse of
Self::encode_for_disk()
Methods from Deref<Target = SectorMetadata>§
Sourcepub fn s_bucket_offsets(&self) -> Box<[u32; 65536]>
pub fn s_bucket_offsets(&self) -> Box<[u32; 65536]>
Returns offsets of each s-bucket relatively to the beginning of the sector (in chunks)
Trait Implementations§
Source§impl Clone for SectorMetadataChecksummed
impl Clone for SectorMetadataChecksummed
Source§impl Debug for SectorMetadataChecksummed
impl Debug for SectorMetadataChecksummed
Source§impl Decode for SectorMetadataChecksummed
impl Decode for SectorMetadataChecksummed
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 Deref for SectorMetadataChecksummed
impl Deref for SectorMetadataChecksummed
Source§impl DerefMut for SectorMetadataChecksummed
impl DerefMut for SectorMetadataChecksummed
Source§impl Encode for SectorMetadataChecksummed
impl Encode for SectorMetadataChecksummed
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.
Source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>(
&self,
f: __CodecUsingEncodedCallback,
) -> __CodecOutputReturn
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
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
impl EncodeLike for SectorMetadataChecksummed
Source§impl From<SectorMetadata> for SectorMetadataChecksummed
impl From<SectorMetadata> for SectorMetadataChecksummed
Source§fn from(value: SectorMetadata) -> Self
fn from(value: SectorMetadata) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Forget for SectorMetadataChecksummed
impl Freeze for SectorMetadataChecksummed
impl RefUnwindSafe for SectorMetadataChecksummed
impl Send for SectorMetadataChecksummed
impl Sync for SectorMetadataChecksummed
impl Unpin for SectorMetadataChecksummed
impl UnsafeUnpin for SectorMetadataChecksummed
impl UnwindSafe for SectorMetadataChecksummed
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<S> Codec for Swhere
S: Decode + Encode,
§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,
impl<T> EncodeLike<&&T> for Twhere
T: Encode,
impl<T> EncodeLike<&T> for Twhere
T: Encode,
impl<T> EncodeLike<&mut T> for Twhere
T: Encode,
impl<T> EncodeLike<Arc<T>> for Twhere
T: Encode,
impl<T> EncodeLike<Box<T>> for Twhere
T: Encode,
impl<T> EncodeLike<Cow<'_, T>> for Twhere
T: ToOwned + Encode,
impl<T> EncodeLike<Rc<T>> for Twhere
T: Encode,
impl<S> FullCodec for Swhere
S: Decode + FullEncode,
impl<S> FullEncode for Swhere
S: Encode + EncodeLike,
§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§impl<T> KeyedVec for Twhere
T: Codec,
impl<T> KeyedVec for Twhere
T: Codec,
§fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8> ⓘ
fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8> ⓘ
Return an encoding of
Self prepended by given slice.