zerodds-corba-dds-bridge 1.0.0-rc.1

Bidirektionale CORBA-Object ↔ DDS-Topic-Bridge: GIOP-Request → DDS-Sample (Servant-Modus) und DDS-Sample → GIOP-Request (Forwarder-Modus). Many-to-Many BridgeMapping mit BridgeServant + LifecycleSync; Wire-Helpers zu corba-giop + corba-ior. no_std + alloc.
Documentation

zerodds-corba-dds-bridge

License: Apache-2.0 docs.rs

Bidirektionale CORBA-Object ↔ DDS-Topic-Bridge: GIOP-Request → DDS- Sample (Servant-Modus) und DDS-Sample → GIOP-Request (Forwarder-Modus). Many-to-Many BridgeMapping mit BridgeServant + LifecycleSync und Wire-Helpers zu corba-giop + corba-ior. no_std + alloc, forbid(unsafe_code). Safety classification: STANDARD.

Spec-Mapping

Spec Abschnitt
OMG CORBA 3.3 Part 1 §11 POA-Servant (Bridge-Pfad)
OMG CORBA 3.3 Part 2 §15 GIOP-Request, §13.6 IOR-object_key
OMG DDS 1.4 §2.2.2.2.1 register/unregister_instance

Was ist drin

  • BridgeMapping + BridgeRoute — Many-to-Many CORBA-Object ↔ DDS-Topic.
  • DirectionCorbaToDds / DdsToCorba / Bidirectional.
  • OperationMapping + TopicQosRef.
  • BridgeServantcorba-poa::Servant-kompatibler Bridge-Servant.
  • LifecycleSync + LifecycleEvent — CORBA-Activate ↔ DDS-RegisterInstance.
  • wire::decode_giop_request_bytes + wire::object_key_from_ior — Cross-Crate-Hooks zu corba-giop + corba-ior.

Was nicht abgedeckt ist

  • DDS-Reader/Writer-Instanziierung: ueber DdsPublishSink-Trait Caller-Layer-resolved (gegen dcps).
  • Wire-Encoding der Reply-Sides: Caller-Layer.

Beispiel

use zerodds_corba_dds_bridge::Direction;
assert_ne!(Direction::CorbaToDds, Direction::DdsToCorba);

Tests

cargo test -p zerodds-corba-dds-bridge

See also