Skip to main content

Module node_manager

Module node_manager 

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

AddNodeItem
Container for a single node being added in an AddNode service call.
AddReferenceItem
Container for a single reference being added in an AddReferences service call.
BrowseNode
Container for a node being browsed and the result of the browse operation.
BrowsePathItem
Container for a node being discovered in a browse path operation.
DeleteNodeItem
Container for a single item in a DeleteNodes service call.
DeleteReferenceItem
Container for a single reference being deleted in an DeleteReferences service call.
ExternalReference
A reference pointing to some node in a different node manager.
ExternalReferenceRequest
Container for a request for the metadata of a single node.
HistoryNode
Container for a single node in a history read request.
HistoryUpdateNode
History update details for one node.
MethodCall
Container for a single method call in a Call service call.
MonitoredItemRef
Reference to a monitored item in the server subscription cache.
MonitoredItemUpdateRef
Reference to a monitored item with information from an update operation.
NodeManagers
Wrapper around the server managed list of node managers.
NodeManagersRef
A weak reference to the node manager collection.
NodeMetadata
Object describing a node with sufficient context to construct a ReferenceDescription.
ParsedNodeTypeDescription
Parsed and validated version of the OPC-UA NodeTypeDescription.
ParsedQueryDataDescription
Parsed and validated version of the OPC-UA QueryDataDescription.
ParsedReadValueId
Parsed and validated version of a raw ReadValueId from OPC-UA.
ParsedWriteValue
Parsed and validated version of the raw OPC-UA WriteValue.
QueryRequest
Container for a Query service call.
ReadNode
Container for a single item in a Read service call.
RegisterNodeItem
Container for a single node in a RegisterNodes call.
RequestContext
Context object passed during requests, contains useful context the node managers can use to execute service calls.
RequestContextInner
Inner request context object, shared between service calls.
ServerContext
General server context, passed when requests are made to the node managers on behalf of the server itself, and not a user.
SyncSampler
Utility for periodically sampling a list of nodes/attributes. When using this you should call run to start the sampler once you have access to the server context.
WriteNode
Container for a single item in a Write service call.

Enums§

AddReferenceResult
Result of adding a reference to a browse node.
HistoryUpdateDetails
Details object for history updates.

Traits§

HistoryResult
Trait for values storable as history data.
IntoAnyArc
This trait is a workaround for the lack of dyn upcasting coercion.
NodeManager
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.
NodeManagerBuilder
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.
NodeManagerCollection
Trait for a collection of node managers, to allow abstracting over weak or strong references to the node manager collection.
TypeTreeForUser
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>
TypeTreeForUserStatic
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.
TypeTreeReadContext
Type returned from TypeTreeForUser, a trait for something that dereferences to a dyn TypeTree.

Functions§

as_opaque_node_id
Convert some value that implements Serialize to a bytestring node ID, using postcard binary 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_user on 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§

DynNodeManager
Type alias for a dyn reference to a node manager.