Skip to main content

Crate zerodds_recorder

Crate zerodds_recorder 

Source
Expand description

Crate zerodds-recorder. Safety classification: STANDARD.

.zddsrec Recording-/Replay-Format. Spec: docs/specs/zddsrec-1.0.md.

§Schichten-Position

Layer 4 — Core Services. Pure-Rust + alloc, ohne ZeroDDS-Crate-Deps.

§Public API (Stand 1.0.0-rc.1)

§Format-Layout

Ein .zddsrec-File besteht aus einem Header gefolgt von einer Sequenz von Frame-Records. Endianness: little-endian fuer alle Multi-Byte-Felder.

+---------------------------------+
| Magic "ZDDS" (4 bytes)          |
| Version u32 (=1)                |
| TimeBaseUnixNs i64              |
| ParticipantCount u32            |
| TopicCount u32                  |
| Participants[] (GUID16+nameLen+name)
| Topics[] (typeLen+typeName+nameLen+name)
+---------------------------------+
| FrameMagic 'F' (1 byte)         |
| TimestampDeltaNs i64            |
| ParticipantIdx u32              |
| TopicIdx u32                    |
| SampleKind u8 (0=Alive,1=Disposed,2=Unregistered)
| PayloadLen u32                  |
| CdrPayload[PayloadLen]          |
+---------------------------------+
| ... weitere Frames ...          |
+---------------------------------+

§Versionierung

Version = 1 (ZDDSREC_VERSION). Backward-incompatible Aenderungen erhoehen die Version; der Reader lehnt unbekannte Versionen ab.

Re-exports§

pub use format::Frame;
pub use format::FrameView;
pub use format::Header;
pub use format::ParticipantEntry;
pub use format::SampleKind;
pub use format::TopicEntry;
pub use format::ZDDSREC_MAGIC;
pub use format::ZDDSREC_VERSION;
pub use reader::ReadError;
pub use reader::RecordReader;
pub use session::RecordingSession;
pub use session::SessionError;
pub use session::SessionOptions;
pub use session::TopicKey;
pub use writer::RecordWriter;
pub use writer::WriteError;

Modules§

format
Format-Konstanten + Wire-Strukturen fuer .zddsrec.
reader
RecordReader — parsed .zddsrec-Streams in einen Header plus eine Sequenz von crate::format::Frame.
session
Live-Recording-Session — high-level API fuer laufende Capture.
writer
RecordWriter — schreibt einen .zddsrec-Stream in einen std::io::Write-Sink.