zerodds-recorder

Layer 4 — Core Services. Pure-Rust record/replay format (.zddsrec v1.0).

zerodds-recorder delivers a deterministic wire format with a write-once header and sequential frame records, plus a reader, writer, and a thread-safe live-session API.

Spec anchors

  • docs/specs/zddsrec-1.0.md §1-§5.

Layer position

Layer 4 — no ZeroDDS crate deps. Consumed by tools/replay (inspect/dump/replay CLI) and tools/recorder-bridge (live recording from the DcpsRuntime).

Quickstart

use zerodds_recorder::{RecordWriter, Header, Frame, SampleKind};

let mut sink = Vec::new();
let mut writer = RecordWriter::new(&mut sink);
writer.write_header(&Header { /* ... */ }).unwrap();
writer.write_frame(&Frame { /* ... */ }).unwrap();

Stability

1.0.0-rc.7. File format version ZDDSREC_VERSION = 2; an incompatible change bumps the value.

Runnable example

zerodds-recorder

Layer 4 — Core Services. Pure-Rust Record/Replay-Format (.zddsrec v1.0).

zerodds-recorder liefert ein deterministisches Wire-Format mit einmal-geschriebenem Header und sequentiellen Frame-Records, plus Reader, Writer und thread-safe Live-Session-API.

Spec-Anker

  • docs/specs/zddsrec-1.0.md §1-§5.

Schichten-Position

Layer 4 — keine ZeroDDS-Crate-Deps. Konsumiert von tools/replay (inspect/dump/replay-CLI) und tools/recorder-bridge (Live-Recording aus DcpsRuntime).

Quickstart

use zerodds_recorder::{RecordWriter, Header, Frame, SampleKind};

let mut sink = Vec::new();
let mut writer = RecordWriter::new(&mut sink);
writer.write_header(&Header { /* ... */ }).unwrap();
writer.write_frame(&Frame { /* ... */ }).unwrap();

Stabilität

1.0.0-rc.7. Dateiformat-Version ZDDSREC_VERSION = 2; eine inkompatible Änderung erhöht den Wert.

Lauffähiges Beispiel