Skip to main content

Crate zerodds_opcua_pubsub

Crate zerodds_opcua_pubsub 

Source
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)

  1. binary — OPC-UA Part 6 binary encoding (the foundation; also usable by the Client/Server gateway).
  2. UADP NetworkMessage / DataSetMessage framing.
  3. PubSub configuration model + DataSetWriter / DataSetReader.
  4. UADP discovery (DataSetMetaData).
  5. PubSub security (SecurityGroup + Security Key Service).
  6. Transport carriers (UDP multicast, Ethernet, MQTT/AMQP).
  7. 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::writer and crate::reader runtime.
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 PublishSubscribe object.
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).