Expand description
This is an OPC UA server / client API implementation for Rust.
The actual implementation is in other crates, this is a convenient master crate that re-exports the other crates.
OPC-UA is an industry standard for information modeling and communication. It is used for control systems, IoT, etc.
The OPC-UA standard is very large and complex, and implementations are often flawed. The strictness of Rust makes it a good choice for implementing OPC-UA, and the performance characteristics are useful when creating OPC-UA tooling that will run in constrained environments.
Modules§
- client
- The OPC UA Client module contains the functionality necessary for a client to connect to an OPC UA server, authenticate itself, send messages, receive responses, get values, browse the address space and provide callbacks for things to be propagated to the client.
- core
- The OPC UA Core module holds functionality that is common to server and clients that make use of OPC UA. It contains message chunking, cryptography / pki, communications and standard handshake messages.
- core_
namespace - crypto
- Crypto related functionality. It is used for establishing trust between a client and server via certificate exchange and validation. It also used for encrypting / decrypting messages and signing messages.
- nodes
- The nodes crate contains core types for generated address spaces.
- server
- A general implementation of an OPC-UA server.
- sync
- Common synchronous locks. Re-exports locks from parking_lot used internally.
- types
- The OPC UA Types module contains data types and enumerations for OPC UA.
- xml
- Core utilities for working with various OPC-UA XML schemas.
Derive Macros§
- Event
- Derive the
Eventtrait. This will also generate an implementation of theEventFieldtrait. - Event
Field - Derive the
EventFieldtrait.