Skip to main content

SnapshotChunkDecoder

Struct SnapshotChunkDecoder 

Source
pub struct SnapshotChunkDecoder { /* private fields */ }
Expand description

Incrementally reconstruct frames and check the snapshot’s end marker. Call Self::next_record repeatedly on each opened chunk, updating the oracle after each applied-write record before asking for the next record.

Implementations§

Source§

impl SnapshotChunkDecoder

Source

pub fn new(prefix: SnapshotObjectPrefix) -> Self

Supply the authenticated prefix, including the snapshot’s coverage.

Source

pub fn header(&self) -> Option<&SnapshotHeader>

Header metadata becomes available as soon as its frame is complete.

Source

pub fn next_record<O: WriteSlots>( &mut self, bytes: &mut &[u8], oracle: &O, ) -> Result<Option<SnapshotRecord>, O::Error>
where O::Error: From<Error>,

Consume bytes through the next complete record, or all available bytes if its frame is unfinished. None means this input has no further record. Discard the decoder after an error; commit staged rows only after finish.

Source

pub fn next_history( &mut self, bytes: &mut &[u8], ) -> Result<Option<SnapshotRecord>, Error>

Like Self::next_record, before the store’s historical signing keys are known: only original slots and last claims are decoded, and every other record is counted and passed over (SnapshotDecoder::history_frame). A loader still decodes every record with Self::next_record.

Source

pub fn frame(&self) -> &[u8] ⓘ

The exact bytes of the frame the last returned record came from, for a loader that stages the record and reads it back with SnapshotRecord::decode_checked.

Source

pub fn finish(&self) -> Result<(), Error>

Refuse EOF without the complete header, declared records and end marker.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,