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
// SPDX-License-Identifier: Apache-2.0
// Copyright 2026 ZeroDDS Contributors
//! OMG DDS-WEB 1.0 — Web-Enabled DDS Object Model + REST PSM.
//!
//! Crate `zerodds-web`. Safety classification: **STANDARD**.
//! Spec `formal/2014-12-01` (`docs/standards/cache/omg/zerodds-web-1.0.pdf`).
//!
//! # Scope
//!
//! We implement the **WebDDS object model** (Spec §7) and the
//! **REST PSM** (Spec §8.3) as a pure-Rust no_std+alloc library:
//!
//! * `WebDDS::Root` singleton + `Application` + `Client` +
//! `AccessController` + `DomainParticipant` (§7.3 object model).
//! * `ReturnStatus` with all spec codes (§7.3.1 + §8.3.2 mapping to
//! HTTP status).
//! * `RestRoute` parser for all URI patterns from Spec §8.3.1
//! Tab 4 + §8.3.3 Tab 5 (all 30+ routes with parameter extraction).
//! * `Representation` XML element-name registry (Spec §8.3.4 Tab 6).
//! * `Headers` HTTP request/response header set (Spec §8.3.5 Tab 7+8).
//! * `SessionId` authenticated-session tracking (§7.3.1.1).
//!
//! # What is not covered
//!
//! * **HTTP server implementation** — caller layer (typically
//! `axum`/`hyper`); this crate provides routing tables + status
//! mapping, the caller binds to the HTTP stack.
//! * **XML body serialization** — caller layer with the `crates/xml/`
//! loader + DDS-XTYPES type-definition reader; the XML element-name
//! registry here provides the wire tags.
//! * **WebSocket push for DataReader notifications** — see
//! `crates/websocket-bridge/`; the caller wires it via a listener
//! callback from `crates/dcps/`.
//! * **SOAP/WSDL-Platform** (Spec §8.4) — `n/a` (REST ist mandatory,
//! SOAP is optional + rarely used).
extern crate alloc;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use SessionId;
pub use ;