Sequential segment replay (used for small segment counts).
(
segments: &[crate::segment::SegmentMeta],
from_lsn: u64,
)
| 303 | |
| 304 | /// Sequential segment replay (used for small segment counts). |
| 305 | fn 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 | /// |
no test coverage detected