MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / replay_segments_sequential

Function replay_segments_sequential

nodedb-wal/src/mmap_reader.rs:305–320  ·  view source on GitHub ↗

Sequential segment replay (used for small segment counts).

(
    segments: &[crate::segment::SegmentMeta],
    from_lsn: u64,
)

Source from the content-addressed store, hash-verified

303
304/// Sequential segment replay (used for small segment counts).
305fn replay_segments_sequential(
306 segments: &[crate::segment::SegmentMeta],
307 from_lsn: u64,
308) -> Result<Vec<WalRecord>> {
309 let mut records = Vec::new();
310 for seg in segments {
311 let mut reader = MmapWalReader::open(&seg.path)?;
312 while let Some(record) = reader.next_record()? {
313 if record.header.lsn >= from_lsn {
314 records.push(record);
315 }
316 }
317 reader.release_pages();
318 }
319 Ok(records)
320}
321
322/// Parallel segment replay using scoped threads.
323///

Callers 1

replay_segments_mmapFunction · 0.85

Calls 4

release_pagesMethod · 0.80
openFunction · 0.50
next_recordMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected