zerodds-wire-probe

Turns one IDL type and one JSON value into wire bytes, for the interop suite.

IDL-and-JSON measurement support for the ZeroDDS interoperability suite. The probe walks the model and layout plan rather than compiling a generated application, so its measurements are distinct from code-generator tests. The execution engine is zerodds-wire-codec.

The JSON representation is type-directed. In particular, 64-bit integers and fixed<P,S> decimals use strings, maps use arrays of key/value pairs, unions carry _d and the active member, and an absent optional member is omitted rather than set to null. The library reference (src/lib.rs) has the complete representation table.

The crate builds the binary wireprobe-zerodds; measurement orchestration lives under tools/wireprobe. wireprobe-zerodds --dialect/--<axis> read the same table as zerodds-idlc generate (zerodds-ast-layout).

Neither a successful self-roundtrip nor an emitted vendor source file alone proves cross-vendor interoperability. The original interop-suite design (docs/specs/zerodds-interop-suite-1.0.md) describes the broader evidence model, not today's coverage counts.

Position

zerodds-wire-probe

Macht aus einem IDL-Typ und einem JSON-Wert Bytes auf der Leitung, für die Interop-Suite.

Messwerkzeug für IDL und JSON in der Interoperabilitätssuite von ZeroDDS. Die Probe durchläuft Modell und Layoutplan, statt eine erzeugte Anwendung zu kompilieren; ihre Messungen sind deshalb etwas anderes als Tests der Codegeneratoren. Die ausführende Engine ist zerodds-wire-codec.

Die JSON-Darstellung richtet sich nach dem Typ. Insbesondere stehen 64-Bit-Ganzzahlen und Dezimalzahlen fixed<P,S> als Strings, Maps als Arrays von Schlüssel/Wert-Paaren, Unions tragen _d und den aktiven Member, und ein fehlender optionaler Member wird weggelassen statt auf null gesetzt. Die Bibliotheksreferenz (src/lib.rs) enthält die vollständige Tabelle der Darstellung.

Die Crate baut das Programm wireprobe-zerodds; die Steuerung der Messungen liegt unter tools/wireprobe. wireprobe-zerodds --dialect/--<axis> lesen dieselbe Tabelle wie zerodds-idlc generate (zerodds-ast-layout).

Weder ein erfolgreicher Roundtrip mit sich selbst noch eine erzeugte Quelldatei für einen anderen Hersteller belegt für sich genommen Interoperabilität zwischen Herstellern. Der ursprüngliche Entwurf der Interop-Suite (docs/specs/zerodds-interop-suite-1.0.md) beschreibt das umfassendere Belegmodell, nicht die heutigen Abdeckungszahlen.

Stellung