zerodds-corba-bridge-1.0 — Open Items
Aggregate of zerodds-corba-bridge-1.0.en.md, generated by website/_tools/gen_open_items.py.
No new content: every entry appears there as an item with its evidence.
§2 zerodds-corba-bridged CLI
Status: partial — exit code 5 (NameService) does not occur while the NameService registration is not built (§4.1); exit codes 2 and 3 are set in the code but have no test of their own.
§4.1 IOR generation IIOP/SSLIOP/Components
Status: partial — TAG_CODE_SETS and TAG_SSL_SEC_TRANS built, catior reads both; no TAG_ORB_TYPE (no OMG-assigned ORB type); publish_to_naming: true is refused (NameService not built).
§4.3 Request-reply mapping CORBA→DDS
Status: partial — NO_PERMISSION, NO_IMPLEMENT, TRANSIENT on a DDS write error, MARSHAL and CancelRequest are built but have no test of their own; a correlation_id other than request_id is refused.
§4.7 LocateRequest/Reply OBJECT_HERE/UNKNOWN/FORWARD
Status: open — OBJECT_HERE and UNKNOWN_OBJECT are built in the daemon (crates/corba-dds-bridge/src/bridge_daemon.rs::serve_connection, branch LocateRequest), but without a test (tests/cross_vendor.rs::locate_request_handler_classifies_known_and_unknown checks src/locate.rs of the library, not the daemon); OBJECT_FORWARD is not built.
§5.2 Type discovery via idl-rust codegen
Status: partial — IDL generation per mapping and the exception variant in the reply type are not built; the bridge does not know the IDL type and passes the argument bytes through.
§6 DDS-QoS → CORBA-behavior map
Status: partial — reliability and durability go to the DDS entities; a replay per request hash for TRANSIENT_LOCAL, lifespan, deadline and partition are not built.
§7.2 CSIv2 SAS_ContextElement + GSSUP
Status: open — CSIv2 is not built in the daemon; csiv2.enabled: true is refused (crates/corba-dds-bridge/src/bridge_daemon.rs, test what_the_daemon_does_not_build_is_refused). The building blocks crates/corba-csiv2/ and crates/corba-dds-bridge/src/csiv2_wire.rs are not wired to the daemon.
§8.1 Structured JSON logging
Status: open — crates/corba-dds-bridge/src/bridge_daemon.rs (log, event_level, level_rank) writes one JSON line per event to stderr with level, event and the event fields, filtered by log_level; timestamp is missing, and no test checks the form of a line.
§8.3 OTLP spans
Status: partial — the exporter starts from the environment, but bridge_daemon.rs creates no spans.
§9.1 Startup sequence
Status: partial — the NameService rebind does not occur while publish_to_naming is not built; the other steps run in the order of the spec.
§9.2 Shutdown SIGTERM/SIGINT/SIGHUP
Status: partial — the branch after 30 s (drain_expired) has no test.
§10 RTPS peer + TAO/JacORB/omniORB/Ice-Java
Status: partial — measured against omniORB. TAO, JacORB and Ice-Java are not measured; the rest is the open item §10/§12.
§12.1 Unit tests per module
Status: partial — the daemon has eight unit tests in one module; the clause’s split with ≥ 5 tests per module does not exist, and csiv2 is not built.
§12.3 Multi-vendor cross_vendor.rs
Status: partial — the DDS side behind the bridge is ZeroDDS; a Cyclone DDS backend and a TAO client are not measured. Cross-ref: the open item below.
§10/§12 Cross-vendor harness — TAO, JacORB, Ice-Java, Cyclone
Status: open — measured is omniORB with a ZeroDDS backend (tests/omniorb_e2e.rs). Plan: run the same cases with a TAO and a JacORB client from crates/corba-interop/competitors/ and with a Cyclone DDS backend after the layout of §4.3 on the Linux test host.
zerodds-corba-bridge-1.0 — offene Punkte
Aggregat aus zerodds-corba-bridge-1.0.md, erzeugt von website/_tools/gen_open_items.py.
Kein eigener Inhalt: jedes Item steht dort mit seinem Beleg.
§2 zerodds-corba-bridged CLI
Status: partial — Exit-Code 5 (NameService) entfällt, solange die NameService-Registrierung nicht gebaut ist (§4.1); Exit 2 und 3 sind im Code gesetzt, aber ohne eigenen Test.
§4.1 IOR-Generation IIOP/SSLIOP/Components
Status: partial — TAG_CODE_SETS und TAG_SSL_SEC_TRANS gebaut, catior liest beide; kein TAG_ORB_TYPE (keine OMG-vergebene ORB-Kennung); publish_to_naming: true wird abgelehnt (NameService nicht gebaut).
§4.3 Request-Reply-Mapping CORBA→DDS
Status: partial — NO_PERMISSION, NO_IMPLEMENT, TRANSIENT bei DDS-Schreibfehler, MARSHAL und CancelRequest sind gebaut, aber ohne eigenen Test; correlation_id außer request_id wird abgelehnt.
§4.7 LocateRequest/Reply OBJECT_HERE/UNKNOWN/FORWARD
Status: open — OBJECT_HERE und UNKNOWN_OBJECT sind im Daemon gebaut (crates/corba-dds-bridge/src/bridge_daemon.rs::serve_connection, Zweig LocateRequest), aber ohne Test (tests/cross_vendor.rs::locate_request_handler_classifies_known_and_unknown prüft src/locate.rs der Bibliothek, nicht den Daemon); OBJECT_FORWARD ist nicht gebaut.
§5.2 Type-Discovery via idl-rust Codegen
Status: partial — die IDL-Generierung pro Mapping und die Exception-Variante im Reply-Typ sind nicht gebaut; die Bridge kennt den IDL-Typ nicht und reicht die Argument-Bytes durch.
§6 DDS-QoS → CORBA-Behavior Map
Status: partial — Reliability und Durability gehen an die DDS-Entities; ein Replay pro Request-Hash für TRANSIENT_LOCAL, Lifespan, Deadline und Partition sind nicht gebaut.
§7.2 CSIv2 SAS_ContextElement + GSSUP
Status: open — CSIv2 ist im Daemon nicht gebaut; csiv2.enabled: true wird abgelehnt (crates/corba-dds-bridge/src/bridge_daemon.rs, Test what_the_daemon_does_not_build_is_refused). Die Bausteine crates/corba-csiv2/ und crates/corba-dds-bridge/src/csiv2_wire.rs sind nicht an den Daemon angebunden.
§8.1 Strukturiertes JSON-Logging
Status: open — crates/corba-dds-bridge/src/bridge_daemon.rs (log, event_level, level_rank) schreibt eine JSON-Zeile pro Ereignis auf stderr mit level, event und den Ereignisfeldern, gefiltert nach log_level; timestamp fehlt, und kein Test prüft die Form einer Zeile.
§8.3 OTLP-Spans
Status: partial — der Exporter wird aus der Umgebung gestartet, aber bridge_daemon.rs erzeugt keine Spans.
§9.1 Startup-Sequence
Status: partial — der NameService-Rebind entfällt, solange publish_to_naming nicht gebaut ist; die übrigen Schritte laufen in der Reihenfolge der Spec.
§9.2 Shutdown SIGTERM/SIGINT/SIGHUP
Status: partial — der Zweig nach 30 s (drain_expired) hat keinen Test.
§10 RTPS-Peer + TAO/JacORB/omniORB/Ice-Java
Status: partial — gegen omniORB gemessen. TAO, JacORB und Ice-Java sind nicht gemessen; der Rest steht im open-Item §10/§12.
§12.1 Unit-Tests pro Modul
Status: partial — der Daemon hat acht Unit-Tests in einem Modul; die Aufteilung der Klausel mit ≥ 5 Tests pro Modul gibt es nicht, und csiv2 ist nicht gebaut.
§12.3 Multi-Vendor cross_vendor.rs
Status: partial — die DDS-Seite hinter der Bridge ist ZeroDDS; ein Cyclone-DDS-Backend und ein TAO-Client sind nicht gemessen. Cross-Ref: das open-Item darunter.
§10/§12 Cross-Vendor-Harness — TAO, JacORB, Ice-Java, Cyclone
Status: open — gemessen ist omniORB mit einem ZeroDDS-Backend (tests/omniorb_e2e.rs). Plan: dieselben Fälle mit einem TAO- und einem JacORB-Client aus crates/corba-interop/competitors/ und mit einem Cyclone-DDS-Backend nach dem Layout aus §4.3 auf dem Linux-Testhost fahren.