pub struct WalEntry {
pub sequence: u64,
pub entry_type: WalEntryType,
pub timestamp_ms: u64,
pub record_id: String,
pub record_data: Option<WalRecordData>,
pub outcome: Option<f64>,
pub checksum: u32,
}Expand description
A single WAL entry.
Each entry is self-contained with all information needed to replay it.
Fields§
§sequence: u64Monotonically increasing sequence number
entry_type: WalEntryTypeEntry type
timestamp_ms: u64Timestamp (Unix epoch millis)
record_id: StringRecord ID (for all entry types)
record_data: Option<WalRecordData>Full record data (for Insert)
outcome: Option<f64>Outcome value (for UpdateStats)
checksum: u32CRC32 checksum for integrity
Implementations§
Source§impl WalEntry
impl WalEntry
Sourcepub fn insert(sequence: u64, record: &MemoryRecord) -> Self
pub fn insert(sequence: u64, record: &MemoryRecord) -> Self
Create a new Insert entry.
Sourcepub fn update_stats(sequence: u64, record_id: &RecordId, outcome: f64) -> Self
pub fn update_stats(sequence: u64, record_id: &RecordId, outcome: f64) -> Self
Create a new UpdateStats entry.
Sourcepub fn checkpoint(sequence: u64) -> Self
pub fn checkpoint(sequence: u64) -> Self
Create a checkpoint marker.
Sourcepub fn verify_checksum(&self) -> bool
pub fn verify_checksum(&self) -> bool
Verify the checksum.
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self, WalError>
pub fn from_bytes(bytes: &[u8]) -> Result<Self, WalError>
Trait Implementations§
Source§impl Archive for WalEntry
impl Archive for WalEntry
Source§impl<__D: Fallible + ?Sized> Deserialize<WalEntry, __D> for Archived<WalEntry>where
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
WalEntryType: Archive,
Archived<WalEntryType>: Deserialize<WalEntryType, __D>,
String: Archive,
Archived<String>: Deserialize<String, __D>,
Option<WalRecordData>: Archive,
Archived<Option<WalRecordData>>: Deserialize<Option<WalRecordData>, __D>,
Option<f64>: Archive,
Archived<Option<f64>>: Deserialize<Option<f64>, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
impl<__D: Fallible + ?Sized> Deserialize<WalEntry, __D> for Archived<WalEntry>where
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
WalEntryType: Archive,
Archived<WalEntryType>: Deserialize<WalEntryType, __D>,
String: Archive,
Archived<String>: Deserialize<String, __D>,
Option<WalRecordData>: Archive,
Archived<Option<WalRecordData>>: Deserialize<Option<WalRecordData>, __D>,
Option<f64>: Archive,
Archived<Option<f64>>: Deserialize<Option<f64>, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
Auto Trait Implementations§
impl Freeze for WalEntry
impl RefUnwindSafe for WalEntry
impl Send for WalEntry
impl Sync for WalEntry
impl Unpin for WalEntry
impl UnsafeUnpin for WalEntry
impl UnwindSafe for WalEntry
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.