pub struct WalSegmentPayload {
pub namespace_id: NamespaceId,
pub segment_id: WalSegmentId,
pub writer_epoch: WriterEpoch,
pub prev_visible_segment: Option<WalSegmentPointer>,
pub base_head_seq: ChangeSeq,
pub start_seq: ChangeSeq,
pub end_seq: ChangeSeq,
pub records: Vec<WalCommitPayload>,
}Expand description
Carries the namespace-specific chain metadata and commits stored in one WAL object.
See WAL segment rules.
Fields§
§namespace_id: NamespaceIdNamespace this segment belongs to; recovery rejects cross-namespace content.
segment_id: WalSegmentIdImmutable object identity expected to agree with the head pointer and object key.
writer_epoch: WriterEpochFencing epoch of the writer that proposed this segment.
prev_visible_segment: Option<WalSegmentPointer>Previous accepted chain member, or None only when no visible segment precedes this one.
base_head_seq: ChangeSeqHead sequence the writer materialized against before adding these records.
start_seq: ChangeSeqSequence of the first record, and the position encoded into segment_id.
end_seq: ChangeSeqSequence of the final record, checked against both records and the head pointer.
records: Vec<WalCommitPayload>Logical commits in contiguous ascending sequence order.
Trait Implementations§
Source§impl Clone for WalSegmentPayload
impl Clone for WalSegmentPayload
Source§fn clone(&self) -> WalSegmentPayload
fn clone(&self) -> WalSegmentPayload
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WalSegmentPayload
impl Debug for WalSegmentPayload
Source§impl<'de> Deserialize<'de> for WalSegmentPayload
impl<'de> Deserialize<'de> for WalSegmentPayload
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for WalSegmentPayload
Source§impl PartialEq for WalSegmentPayload
impl PartialEq for WalSegmentPayload
Source§impl Serialize for WalSegmentPayload
impl Serialize for WalSegmentPayload
impl StructuralPartialEq for WalSegmentPayload
Auto Trait Implementations§
impl Freeze for WalSegmentPayload
impl RefUnwindSafe for WalSegmentPayload
impl Send for WalSegmentPayload
impl Sync for WalSegmentPayload
impl Unpin for WalSegmentPayload
impl UnsafeUnpin for WalSegmentPayload
impl UnwindSafe for WalSegmentPayload
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