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.