Skip to main content

ChainFeed

Enum ChainFeed 

Source
pub enum ChainFeed {
    Complete(WalHeader, Vec<u8>),
    Pending,
}
Expand description

Result of feeding one record to a ChainAssembler.

Variants§

§

Complete(WalHeader, Vec<u8>)

This LSN’s commit’s framing is fully reconstructed: header plus the logical body ([op_set_len:4][op_set][command bytes, possibly empty] — exactly WITH_COMMAND’s own body shape), ready to decode via decode_logical_body. Decoding is a separate, explicit step — deliberately never done inside ChainAssembler::feed — so a content corruption (e.g. an unparsable embedded CommitBatch, metadata_retirement_rejects_a_corrupt_wal_command_envelope’s exact case) is never mistaken for a torn write and silently truncated by a caller that only wants structural chain-completeness (read_segment’s recovery pass checks is_open()/open_start_offset() and never calls decode_logical_body at all).

§

Pending

More fragments are still expected for this LSN; nothing to decode yet.

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.

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.