Expand description
OPC-UA Pub/Sub Part 14 (UADP) — native pure-Rust wire stack.
Crate zerodds-opcua-pubsub. Safety classification: STANDARD.
Spec: OPC Foundation Part 14 — PubSub + Part 6 — Mappings
(binary encoding).
§Scope and relationship to zerodds-opcua-gateway
zerodds-opcua-gateway is
the OMG DDS-OPCUA 1.0 bridge — a pure type-system + AddressSpace
mapping library with no wire I/O. This crate adds the OPC Foundation
Part 14 Pub/Sub transport: it serialises the gateway type model
(NodeId, Variant, DataValue, …) into the OPC-UA binary encoding
and frames it as UADP NetworkMessages.
The two specs are distinct families: DDS-OPCUA 1.0 bridges OPC-UA into the DDS global data space; Part 14 is OPC-UA’s own publish/subscribe wire protocol. This crate is therefore an additive profile, not a change to the gateway.
§Layering (built incrementally)
binary— OPC-UA Part 6 binary encoding (the foundation; also usable by the Client/Server gateway).- UADP
NetworkMessage/DataSetMessageframing. - PubSub configuration model +
DataSetWriter/DataSetReader. - UADP discovery (
DataSetMetaData). - PubSub security (
SecurityGroup+ Security Key Service). - Transport carriers (UDP multicast, Ethernet, MQTT/AMQP).
- DataSet ↔ DDS-topic bridge + daemon.
Re-exports§
pub use binary::UaDecode;pub use binary::UaEncode;pub use binary::UaReader;pub use binary::UaWriter;pub use binary::from_binary;pub use binary::to_binary;pub use error::DecodeError;pub use error::EncodeError;
Modules§
- binary
- OPC-UA binary encoding (OPC-UA Foundation Part 6 §5.2).
- bridge
- DataSet ↔ DDS-topic bridge — maps OPC-UA PubSub DataSets to and from DDS topic samples so a value published on one global data space appears on the other.
- config
- PubSub configuration model (OPC Foundation Part 14 §6.2 / §9.1) — the
declarative objects that describe what is published and how it is
framed, consumed by the
crate::writerandcrate::readerruntime. - daemon
- The PubSub runtime — drives writer and reader groups over a
PubSubTransport(OPC Foundation Part 14 §6.2.6 PubSubConnection behaviour). - dynamic
- Dynamic, metadata-driven decoding of RawData DataSet fields whose DataType is a custom (non-built-in) structured, enumerated or simple type (OPC-UA Part 6 §5.4 reversible structured encoding, RawData variant of Part 14 §7.2.2.3.4).
- error
- Encoder and decoder errors for the OPC-UA binary wire format and the UADP framing layers.
- infomodel
- The OPC-UA PubSub Information Model (Part 14 §9) — the configuration of a
Publisher/Subscriber exposed as a browsable OPC-UA AddressSpace under the
well-known
PublishSubscribeobject. - reader
- The subscribing side of OPC-UA PubSub (Part 14 §6.2.8 / §6.2.7).
- transport
- Transport carriers for serialised UADP messages (OPC Foundation Part 14 §7.3).
- uadp
- UADP framing (OPC Foundation Part 14 §7.2.2) — the publish/subscribe
wire format built on top of the Part 6 binary codec (
crate::binary). - writer
- The publishing side of OPC-UA PubSub (Part 14 §6.2.4 / §6.2.5).