zerodds-wire-probe
Turns one IDL type and one JSON value into wire bytes, for the interop suite.
- Source: crates/wire-probe
- API docs: docs.rs/zerodds-wire-probe
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
- Reads IDL through
zerodds-idl-compose,zerodds-idl-parseandzerodds-idl-lower; plans withzerodds-ast-layout; executes withzerodds-wire-codecoverzerodds-wire.
zerodds-wire-probe
Macht aus einem IDL-Typ und einem JSON-Wert Bytes auf der Leitung, für die Interop-Suite.
- Quelle: crates/wire-probe
- API-Docs: docs.rs/zerodds-wire-probe
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
- Liest IDL über
zerodds-idl-compose,zerodds-idl-parseundzerodds-idl-lower; plant mitzerodds-ast-layout; führt mitzerodds-wire-codecüberzerodds-wireaus.