zerodds-wire

The runtime the generated encoders call: XCDR1 and XCDR2 writers and readers, alignment and framing exactly as the layout plan states it.

The runtime a generated encoder calls.

Writer and Reader put bytes on the wire and take them off, in XCDR1 and XCDR2, in either byte order. They hold the alignment rules and the framing forms — DHEADER, EMHEADER, PL_CDR1 parameter headers, the PID_LIST_END sentinel — and nothing else.

This crate makes no decisions about a type. Which members are written, in what order, with which header and which length code, is the layout plan's answer and reaches this crate as arguments. A runtime that decided any of it would be a second place where the wire format lives, and the two would drift.

Position

Specification

docs/specs/zerodds-ast-1.0.md §7 — the layout plan this crate serves.

zerodds-wire

Die Laufzeit, die erzeugte Encoder aufrufen: Writer und Reader für XCDR1 und XCDR2, Ausrichtung und Rahmung genau so, wie der Layoutplan sie angibt.

Die Laufzeit, die ein erzeugter Encoder aufruft.

Writer und Reader legen Bytes auf die Leitung und nehmen sie herunter, in XCDR1 und XCDR2, in beiden Bytereihenfolgen. Sie halten die Ausrichtungsregeln und die Rahmenformen — DHEADER, EMHEADER, PL_CDR1-Parameterheader, den Abschluss PID_LIST_END — und sonst nichts.

Diese Crate trifft keine Entscheidung über einen Typ. Welche Member in welcher Reihenfolge mit welchem Header und welchem Längencode geschrieben werden, beantwortet der Layoutplan; die Antwort erreicht diese Crate als Argumente. Eine Laufzeit, die irgendetwas davon entschiede, wäre ein zweiter Ort, an dem das Format auf der Leitung festgelegt wird, und die beiden würden auseinanderlaufen.

Stellung

Spezifikation

docs/specs/zerodds-ast-1.0.md §7 — der Layoutplan, dem diese Crate dient.