Expand description
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
Wir implementieren das WebDDS-Object-Model (Spec §7) und das REST-PSM (Spec §8.3) als pure-Rust no_std+alloc Library:
WebDDS::RootSingleton +Application+Client+AccessController+DomainParticipant(§7.3 Object-Model).ReturnStatusmit allen Spec-Codes (§7.3.1 + §8.3.2 Mapping zu HTTP-Status).RestRouteParser fuer alle URI-Patterns aus Spec §8.3.1 Tab 4 + §8.3.3 Tab 5 (alle 30+ Routes mit Parameter-Extraktion).RepresentationXML-Element-Name-Registry (Spec §8.3.4 Tab 6).HeadersHTTP-Request/Response-Header-Set (Spec §8.3.5 Tab 7+8).SessionIdAuthenticated-Session-Tracking (§7.3.1.1).
§Was nicht abgedeckt ist
- HTTP-Server-Implementation — Caller-Layer (typisch
axum/hyper); diese Crate liefert Routing-Tabellen + Status- Mapping, der Caller bindet an HTTP-Stack. - XML-Body-Serialization — Caller-Layer mit
crates/xml/- Loader + DDS-XTYPES-Type-Definition-Reader; das XML-Element- Name-Registry hier liefert die Wire-Tags. - WebSocket-Push fuer DataReader-Notifications — siehe
crates/websocket-bridge/; Caller wired das via Listener- Callback auscrates/dcps/. - SOAP/WSDL-Platform (Spec §8.4) —
n/a(REST ist mandatory, SOAP ist optional + selten verwendet).
Re-exports§
pub use access_control::Decision;pub use access_control::Operation;pub use access_control::Permissions;pub use access_control::Rule;pub use bridge::BackendError;pub use bridge::BackendResult;pub use bridge::DdsBackend;pub use bridge::enforce;pub use headers::REQUEST_API_KEY;pub use headers::RequestHeaders;pub use headers::ResponseHeaders;pub use model::Application;pub use model::Client;pub use model::DomainParticipant;pub use model::WebDdsRoot;pub use representation::ContentType;pub use representation::RepresentationKind;pub use representation::element_name;pub use rest::REST_PREFIX;pub use rest::RestMethod;pub use rest::RestRoute;pub use rest::parse_route;pub use sample_selector::BoolOp;pub use sample_selector::CompareOp;pub use sample_selector::FilterExpression;pub use sample_selector::InstanceStateMatch;pub use sample_selector::Literal;pub use sample_selector::MetadataExpression;pub use sample_selector::ParseError as SampleSelectorParseError;pub use sample_selector::SampleSelector;pub use sample_selector::SampleStateMatch;pub use sample_selector::ViewStateMatch;pub use sample_selector::parse_sample_selector;pub use session::SessionId;pub use status::ReturnStatus;pub use status::http_status_for;
Modules§
- access_
control - DDS-WEB Access Control Decision Engine — Spec §7.3.
- bridge
- DDS-WEB Bridge zur DDS-DCPS Public API — Spec §7.4.
- headers
- HTTP-Headers — Spec §8.3.5 Tab 7 + Tab 8.
- model
- WebDDS Object Model — Spec §7.
- representation
- XML Object-Representation Tags — Spec §8.3.4 Tab 6.
- rest
- REST-PSM URI-Routing — Spec §8.3.1 + §8.3.3.
- sample_
selector - DDS-WEB Sample Selector BNF Parser — Spec §7.4.8.
- session
SessionIdAuthentifizierte Session — Spec §7.3.1.1.- status
ReturnStatus+ HTTP-Status-Mapping — Spec §7.3 + §8.3.2.