Expand description
The NodeManager trait, as well as utilities related to calling services on this, and tooling for implementing custom node managers.
See docs/advanced_server.md for help on how to implement custom node managers.
Modules§
- memory
- The implementation of InMemoryNodeManager, a generic node manager that keeps all its nodes in memory, and delegates implementing details to a type implementing InMemoryNodeManagerImpl.
Structs§
- AddNode
Item - Container for a single node being added in an
AddNodeservice call. - AddReference
Item - Container for a single reference being added in an
AddReferencesservice call. - Browse
Node - Container for a node being browsed and the result of the browse operation.
- Browse
Path Item - Container for a node being discovered in a browse path operation.
- Delete
Node Item - Container for a single item in a
DeleteNodesservice call. - Delete
Reference Item - Container for a single reference being deleted in an
DeleteReferencesservice call. - External
Reference - A reference pointing to some node in a different node manager.
- External
Reference Request - Container for a request for the metadata of a single node.
- History
Node - Container for a single node in a history read request.
- History
Update Node - History update details for one node.
- Method
Call - Container for a single method call in a
Callservice call. - Monitored
Item Ref - Reference to a monitored item in the server subscription cache.
- Monitored
Item Update Ref - Reference to a monitored item with information from an update operation.
- Node
Managers - Wrapper around the server managed list of node managers.
- Node
Managers Ref - A weak reference to the node manager collection.
- Node
Metadata - Object describing a node with sufficient context to construct
a
ReferenceDescription. - Parsed
Node Type Description - Parsed and validated version of the OPC-UA
NodeTypeDescription. - Parsed
Query Data Description - Parsed and validated version of the OPC-UA
QueryDataDescription. - Parsed
Read Value Id - Parsed and validated version of a raw ReadValueId from OPC-UA.
- Parsed
Write Value - Parsed and validated version of the raw OPC-UA
WriteValue. - Query
Request - Container for a
Queryservice call. - Read
Node - Container for a single item in a
Readservice call. - Register
Node Item - Container for a single node in a
RegisterNodescall. - Request
Context - Context object passed during requests, contains useful context the node managers can use to execute service calls.
- Request
Context Inner - Inner request context object, shared between service calls.
- Server
Context - General server context, passed when requests are made to the node managers on behalf of the server itself, and not a user.
- Sync
Sampler - Utility for periodically sampling a list of nodes/attributes.
When using this you should call
runto start the sampler once you have access to the server context. - Write
Node - Container for a single item in a
Writeservice call.
Enums§
- AddReference
Result - Result of adding a reference to a browse node.
- History
Update Details - Details object for history updates.
Traits§
- History
Result - Trait for values storable as history data.
- Into
AnyArc - This trait is a workaround for the lack of dyn upcasting coercion.
- Node
Manager - Trait for a type that implements logic for responding to requests. Implementations of this trait may make external calls for node information, or do other complex tasks.
- Node
Manager Builder - Trait for node manager builders. Node managers are built at the same time as the server, after it has been configured, so each custom node manager needs to defined a builder type that implements this trait.
- Node
Manager Collection - Trait for a collection of node managers, to allow abstracting over weak or strong references to the node manager collection.
- Type
Tree ForUser - Trait for providing a dynamic type tree for a user.
This is a bit complex, it doesn’t return a type tree directly,
instead it returns something that wraps a type tree, for example
a
RwLockReadGuard<'_, RawRwLock, dyn TypeTree> - Type
Tree ForUser Static - Trait for providing a static reference to the type tree for a specific user. This allows subscriptions to hold a reference to the type tree.
- Type
Tree Read Context - Type returned from
TypeTreeForUser, a trait for something that dereferences to adyn TypeTree.
Functions§
- as_
opaque_ node_ id - Convert some value that implements Serialize to a bytestring node ID, using
postcardbinary encoding. - from_
opaque_ node_ id - Deserialize some node ID that was originally created using as_opaque_node_id.
- get_
namespaces_ for_ user - Get the namespaces visible to the current user by calling
namespaces_for_useron each node manager. - get_
node_ metadata - Fetch external references by requesting them from their owning node manager.
- impl_
translate_ browse_ paths_ using_ browse - Implementation of translate_browse_path implemented by repeatedly calling browse. Note that this is always less efficient than a dedicated implementation, but for simple node managers it may be a simple solution to get translate browse paths support without a complex implementation.
Type Aliases§
- DynNode
Manager - Type alias for a dyn reference to a node manager.