1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! OMG CORBA 3.3 Part 2 §15 — General Inter-ORB Protocol (GIOP).
//!
//! Crate `zerodds-corba-giop`. Safety classification: **STANDARD**.
//! Spec OMG CORBA 3.3 Part 2 §15 (`docs/standards/cache/omg/corba-3.3-part2.pdf`,
//! eingepflegt in Sprint-1-Setup-Phase).
//!
//! # Scope
//!
//! Voller GIOP-Wire-Codec — alle 8 Message-Types fuer GIOP 1.0, 1.1
//! und 1.2 (inkl. Bidirectional-GIOP). Reuse CDR-1 aus `crates/cdr/`.
//!
//! Implementierte Message-Types (Spec §15.4.1-15.4.9):
//!
//! * `Request` (Spec §15.4.2) — Client→Server Method-Invocation.
//! * `Reply` (Spec §15.4.3) — Server→Client Response inkl. aller 6
//! Reply-Statuses (NO_EXCEPTION/USER_EXCEPTION/SYSTEM_EXCEPTION/
//! LOCATION_FORWARD/LOCATION_FORWARD_PERM/NEEDS_ADDRESSING_MODE).
//! * `CancelRequest` (Spec §15.4.4) — Client cancelt pending Request.
//! * `LocateRequest` (Spec §15.4.5) — Client probt Object-Location.
//! * `LocateReply` (Spec §15.4.6) — Server antwortet auf LocateRequest.
//! * `CloseConnection` (Spec §15.4.7) — Server schliesst Connection.
//! * `MessageError` (Spec §15.4.8) — Wire-Format-Fehler-Indication.
//! * `Fragment` (Spec §15.4.9) — Multi-Frame-Message-Body.
//!
//! GIOP-Versionen:
//!
//! * `1.0` — Initial-Format. Request/Reply-Header inkl. `requesting_principal`.
//! Kein Fragment-Support, kein Bidirectional-GIOP.
//! * `1.1` — `byte_order` wird zu `flags`-Octet (Bit 0 = byte_order,
//! Bit 1 = fragment). Fragment fuer Request+Reply. Request-Header
//! bekommt 3-Byte-`reserved`-Feld.
//! * `1.2` — Request/Reply-Header neu organisiert: `request_id`
//! zuerst, `service_context` zuletzt. `TargetAddress`-Union ersetzt
//! den `object_key`. Body 8-Byte-aligned. Fragment fuer alle
//! Message-Types. Bidirectional-GIOP via `BiDirIIOPServiceContext`.
//!
//! # Was nicht hier ist
//!
//! * **Transport** — TCP/UDS-Lieferung in `crates/corba-iiop/`.
//! * **IOR-Format** — Object-Reference-Marshalling in `crates/corba-ior/`.
//! * **POA** — Servant-Dispatch in `crates/corba-poa/`.
//! * **Codeset-Konversion** — `crates/cdr/` macht UTF-8/UTF-16 nativ;
//! ISO-Latin-Konversion ist Caller-Layer (selten in modernen
//! CORBA-Deployments).
//!
//! # Beispiel
//!
//! ```
//! use zerodds_corba_giop::{MAGIC_BYTES, Version};
//! assert_eq!(MAGIC_BYTES, *b"GIOP");
//! let v = Version { major: 1, minor: 2 };
//! assert_eq!(v.major, 1);
//! ```
extern crate alloc;
pub use CancelRequest;
pub use CloseConnection;
pub use ;
pub use ;
pub use Flags;
pub use ;
pub use ;
pub use ;
pub use LocateRequest;
pub use MessageError;
pub use MessageType;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Version;