pub struct SplitEventJournal { /* private fields */ }Expand description
Split event journal for efficient time scrubbing [50][54].
Separates compact headers from variable-size payloads to enable fast time-based seeking without deserializing full events.
Implementations§
Source§impl SplitEventJournal
impl SplitEventJournal
Sourcepub fn append<T: Serialize>(
&mut self,
time: SimTime,
event_type: u32,
event: &T,
) -> SimResult<()>
pub fn append<T: Serialize>( &mut self, time: SimTime, event_type: u32, event: &T, ) -> SimResult<()>
Sourcepub fn seek_to_time(&self, target: SimTime) -> Option<usize>
pub fn seek_to_time(&self, target: SimTime) -> Option<usize>
Seek to time index without deserializing payloads (O(log n)).
Sourcepub fn load_payload<T: DeserializeOwned>(
&self,
header: &EventHeader,
) -> SimResult<T>
pub fn load_payload<T: DeserializeOwned>( &self, header: &EventHeader, ) -> SimResult<T>
Sourcepub fn headers_in_range(
&self,
start: SimTime,
end: SimTime,
) -> impl Iterator<Item = &EventHeader>
pub fn headers_in_range( &self, start: SimTime, end: SimTime, ) -> impl Iterator<Item = &EventHeader>
Iterate headers in time range (fast, no payload deserialization).
Sourcepub fn headers(&self) -> &[EventHeader]
pub fn headers(&self) -> &[EventHeader]
Get all headers.
Sourcepub fn header_count(&self) -> usize
pub fn header_count(&self) -> usize
Get header count.
Sourcepub fn payload_bytes(&self) -> usize
pub fn payload_bytes(&self) -> usize
Get total payload bytes.
Trait Implementations§
Source§impl Debug for SplitEventJournal
impl Debug for SplitEventJournal
Source§impl Default for SplitEventJournal
impl Default for SplitEventJournal
Source§fn default() -> SplitEventJournal
fn default() -> SplitEventJournal
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SplitEventJournal
impl RefUnwindSafe for SplitEventJournal
impl Send for SplitEventJournal
impl Sync for SplitEventJournal
impl Unpin for SplitEventJournal
impl UnsafeUnpin for SplitEventJournal
impl UnwindSafe for SplitEventJournal
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