Skip to main content

Crate zerodds_corba_iiop

Crate zerodds_corba_iiop 

Source
Expand description

OMG CORBA 3.3 Part 2 §14 + §15.7 — Internet Inter-ORB Protocol (IIOP).

Crate zerodds-corba-iiop. Safety classification: STANDARD. Spec OMG CORBA 3.3 Part 2 §14 (IIOP Overview) + §15.7 (IIOP Profile)

  • §15.9 (Bidirectional-GIOP).

§Scope

Full IIOP-over-TCP transport stack:

  • ProfileBody — all 4 IIOP versions (1.0/1.1/1.2/1.3) incl. host/port/object_key/components (Spec §15.7.2). 1.0 has no components sequence; from 1.1 on they are a mandatory part.
  • Connection — TCP stream wrapper that reads and writes GIOP messages frame-exactly (12-byte header -> message_size -> body read).
  • Connector (client) — TCP connect with connection reuse and a thread-safe pool, connect timeout and automatic reconnect logic on receiving CloseConnection.
  • Acceptor (server) — TCP listener loop with a per-connection worker thread.
  • Bidirectional GIOP (Spec §15.9) — the server can send requests to the client after negotiation via BiDirIIOPServiceContext.

§Example

use zerodds_corba_iiop::IiopVersion;
assert_eq!(IiopVersion::V1_2.major, 1);
assert_eq!(IiopVersion::V1_2.minor, 2);

Re-exports§

pub use bidir::BiDirIiopListenPoint;
pub use bidir::BiDirIiopServiceContext;
pub use bidir::IIOP_BI_DIR_TAG;
pub use profile_body::IiopProfileBody;
pub use profile_body::IiopVersion;
pub use profile_body::TaggedComponent;
pub use acceptor::Acceptor;
pub use acceptor::AcceptorConfig;
pub use connection::Connection;
pub use connector::Connector;
pub use connector::ConnectorConfig;
pub use error::IiopError;
pub use framing::read_giop_message;
pub use framing::write_giop_message;

Modules§

acceptor
IIOP server acceptor — TCP listener with a per-connection worker.
bidir
Bidirectional GIOP — Spec §15.9.
connection
IIOP connection — TCP stream wrapper with GIOP message I/O.
connector
IIOP client connector with a connection pool.
error
IIOP transport errors.
framing
GIOP message framing over TCP — Spec §15.7.1.
profile_body
IIOP ProfileBody — Spec §15.7.2 (all 4 versions 1.0/1.1/1.2/1.3).