Expand description

Contains most of the things that are typically required from a client / server.

Re-exports

pub use crate::comms::prelude::*;
pub use crate::config::Config;
pub use crate::supported_message::*;

Modules

Contains definitions of the simple OPC UA scalar types.

Contains the implementation of ByteString.

Contains the implementation of DataValue.

Contains the implementation of DataTime.

Contains the implementation of DiagnosticInfo.

Contains the BinaryEncoder trait and helpers for reading and writing of scalar values and other primitives.

Contains the implementation of ExtensionObject.

Contains the implementation of Guid.

Contains the definition of LocalizedText.

Contains the implementation of NodeId and ExpandedNodeId.

Contains the implementation of NumericRange.

Contains constants recognized by OPC UA clients and servers to describe various protocols and profiles used during communication and encryption.

Contains the definition of QualifiedName.

Contains functions used for making relative paths from / to strings, as per OPC UA Part 4, Appendix A

Contains the hand implemented part of the StatusCode type. The other file, status_codes.rs contains the machine generated part.

Contains the implementation of UAString.

Contains the implementation of Variant.

Structs

An array is a vector of values with an optional number of dimensions. It is expected that the multi-dimensional array is valid, or it might not be encoded or decoded properly. The dimensions should match the number of values, or the array is invalid.

A sequence of octets.

This is a convenience for building ContentFilter using operands as building blocks This builder does not check to see that the content filter is valid, i.e. if you reference an element by index that doesn’t exist, or introduce a loop then you will not get an error until you feed it to a server and the server rejects it or breaks.

A data value is a value of a variable in the OPC UA server and contains information about its value, status and change timestamps.

A date/time value. This is a wrapper around the chrono type with extra functionality for obtaining ticks in OPC UA measurements, endtimes, epoch etc.

Diagnostic information.

A NodeId that allows the namespace URI to be specified instead of an index.

An extension object holds a serialized object identified by its node id.

A Guid is a 16 byte Globally Unique Identifier.

A human readable text with an optional locale identifier.

An identifier for a node in the address space of an OPC UA Server.

An identifier for a error or condition that is associated with a value or an operation.

The RequestHeader contains information common to every request from a client to the server.

The ResponseHeader contains information common to every response from server to client.

To avoid naming conflict hell, the OPC UA String type is typed UAString so it does not collide with the Rust String.

Enums

Traits

OPC UA Binary Encoding interface. Anything that encodes to binary must implement this. It provides functions to calculate the size in bytes of the struct (for allocating memory), encoding to a stream and decoding from a stream.

Implemented by messages

Functions

Calculates the length in bytes of an array of encoded type

Converts an IO encoding error (and logs when in error) into an EncodingResult

Converts an IO encoding error (and logs when in error) into an EncodingResult

Reads an array of the encoded type from a stream, preserving distinction between null array and empty array

Reads an array of bytes from the stream

Read a 32-bit precision value from the stream

Read a 64-bit precision from the stream

Read an signed 16-bit value from the stream

Read a signed 32-bit value from the stream

Read a signed 64-bit value from the stream

Read an unsigned byte from the stream

Read an unsigned 16-bit value from the stream

Read an unsigned 32-bit value from the stream

Read an unsigned 64-bit value from the stream

Check that all elements in the slice of arrays are the same type.

Write an array of the encoded type to stream, preserving distinction between null array and empty array

Writes a series of identical bytes to the stream

Writes a 32-bit precision value to the stream

Writes a 64-bit precision value to the stream

Writes a signed 16-bit value to the stream

Writes a signed 32-bit value to the stream

Writes a signed 64-bit value to the stream

Writes an unsigned byte to the stream

Writes an unsigned 16-bit value to the stream

Writes an unsigned 32-bit value to the stream

Writes an unsigned 64-bit value to the stream

Type Definitions

This Simple DataType is a Double that defines an interval of time in milliseconds (fractions can be used to define sub-millisecond values). Negative values are generally invalid but may have special meanings where the Duration is used. Duration = 290,

This primitive data type is a UInt32 that is used as an identifier, such as a handle. All values, except for 0, are valid. IntegerId = 288,

UtcTime = 294,

An XML element.