Expand description
§rvCSI file/replay adapter
The .rvcsi capture container, its FileRecorder, and the
FileReplayAdapter CsiSource (ADR-095 FR1/FR10,
D9).
A .rvcsi file is plain JSONL: the first line is a CaptureHeader
describing the session; every subsequent line is one
rvcsi_core::CsiFrame serialized as compact JSON. The format is simple,
deterministic, append-friendly and trivially inspectable with head / jq.
Typical use:
use rvcsi_adapter_file::{CaptureHeader, FileRecorder, FileReplayAdapter};
use rvcsi_core::{AdapterKind, AdapterProfile, CsiSource, SessionId, SourceId};
let header = CaptureHeader::new(
SessionId(1),
SourceId::from("file:lab.rvcsi"),
AdapterProfile::offline(AdapterKind::File),
);
let mut rec = FileRecorder::create("lab.rvcsi", &header)?;
// rec.write_frame(&frame)?; ...
rec.finish()?;
let mut replay = FileReplayAdapter::open("lab.rvcsi")?;
while let Some(frame) = replay.next_frame()? {
// hand `frame` downstream — its ValidationStatus is preserved as recorded
let _ = frame;
}Structs§
- Capture
Header - Header object — the first line of every
.rvcsicapture file. - File
Recorder - Append-only writer for a
.rvcsicapture file. - File
Replay Adapter - Deterministic replay source backed by a
.rvcsicapture file.
Constants§
- CAPTURE_
VERSION - Current
.rvcsicapture format version. Written into every header and checked on read.
Functions§
- read_
all - Read an entire
.rvcsicapture into memory: itsCaptureHeaderand everyCsiFrameit contains, in recording order.