Opc.Ua.Client Stores the options to use for a browse operation. Creates an unattached instance of a browser. Creates new instance of a browser and attaches it to a session. Creates a copy of a browser. Sets all private fields to default values. The session that the browse is attached to. The view to use for the browse operation. The maximum number of refrences to return in a single browse operation. The direction to browse. The reference type to follow. Whether subtypes of the reference type should be included. The classes of the target nodes. The results to return. Raised when a browse operation halted because of a continuation point. Whether subsequent continuation points should be processed automatically. Browses the specified node. Checks the state of the browser. Fetches the next batch of references. The continuation point. if set to true the browse operation is cancelled. The next batch of references The event arguments provided a browse operation returns a continuation point. Creates a new instance. Whether the browse operation should be cancelled. Whether subsequent continuation points should be processed automatically. The references that have been fetched so far. A delegate used to received browser events. Defines numerous re-useable utility functions for clients. EventSource for client. The default discover operation timeout. Discovers the servers on the local machine. The configuration. A list of server urls. Discovers the servers on the local machine. The configuration. Operation timeout in milliseconds. A list of server urls. Finds the endpoint that best matches the current settings. The discovery URL. if set to true select an endpoint that uses security. The best available endpoint. Finds the endpoint that best matches the current settings. The discovery URL. if set to true select an endpoint that uses security. Operation timeout in milliseconds. The best available endpoint. Finds the endpoint that best matches the current settings. Finds the endpoint that best matches the current settings. Finds the endpoint that best matches the current settings. The application configuration. The discovery URL. if set to true select an endpoint that uses security. The best available endpoint. Finds the endpoint that best matches the current settings. The application configuration. The discovery URL. if set to true select an endpoint that uses security. The timeout for the discover operation. The best available endpoint. Select the best supported endpoint from an EndpointDescriptionCollection, with or without security. Convert the discoveryUrl to a Uri and modify endpoint as per connection scheme if required. The EventSource log interface. A class that holds the configuration for a UA service. The default constructor. Sets private members to default values. The node id for the dictionary. The display name for the dictionary. The node id for the type system. The display name for the type system. The type dictionary. The data type dictionary DataTypes Loads the dictionary identified by the node id. Loads the dictionary identified by the node id. Returns true if the dictionary contains the data type description; Returns the schema for the specified type (returns the entire dictionary if null). Retrieves the type system for the dictionary. Retrieves the data types in the dictionary. In order to allow for fast Linq matching of dictionary QNames with the data type nodes, the BrowseName of the DataType node is replaced with Value string. Reads the contents of multiple data dictionaries. Reads the contents of a data dictionary. Validates the type dictionary. The encoded dictionary to validate. Throw if an error occurred. Validates the type dictionary. The encoded dictionary to validate. A table of imported namespace schemas. Throw if an error occurred. Object that creates instances of an Opc.Ua.Client.Session object. The default instance of the factory. Force use of the default instance. The Opc.Ua.Client namespace defines classes which can be used to implement a UA client. These classes manage client side state information, provide higher level abstractions for UA tasks such as managing sessions/subscriptions and saving/restoring connection information for later use. A client side cache of the server's type model. Loads the UA defined types into the cache. The context. Removes all nodes from the cache. Fetches a node from the server and updates the cache. Finds a set of nodes in the nodeset, fetches missing nodes from server. The node identifier collection. Fetches a node collection from the server and updates the cache. Adds the supertypes of the node to the cache. Returns the references of the specified node that meet the criteria specified. Returns the references of the specified nodes that meet the criteria specified. Returns a display name for a node. Returns a display name for a node. Returns a display name for the target of a reference. Builds the relative path from a type to a node. Used to handle renews of user identity tokens before reconnect. The delegate used to receive keep alive notifications. The delegate used to receive publish notifications. The delegate used to receive pubish error notifications. The delegate used to modify publish response sequence numbers to acknowledge. Manages a session with a server. Raised when a keep alive arrives from the server or an error is detected. Once a session is created a timer will periodically read the server state and current time. If this read operation succeeds this event will be raised each time the keep alive period elapses. If an error is detected (KeepAliveStopped == true) then this event will be raised as well. Raised when a notification message arrives in a publish response. All publish requests are managed by the Session object. When a response arrives it is validated and passed to the appropriate Subscription object and this event is raised. Raised when an exception occurs while processing a publish response. Exceptions in a publish response are not necessarily fatal and the Session will attempt to recover by issuing Republish requests if missing messages are detected. That said, timeout errors may be a symptom of a OperationTimeout that is too short when compared to the shortest PublishingInterval/KeepAliveCount amount the current Subscriptions. The OperationTimeout should be twice the minimum value for PublishingInterval*KeepAliveCount. Raised when a publish request is about to acknolegde sequence numbers. If the client chose to defer acknowledge of sequenece numbers, it is responsible to transfer these to the deferred list. Raised when a subscription is added or removed Raised to indicate the session is closing. Raised to indicate the session configuration changed. An example for a session configuration change is a new user identity, a new server nonce, a new locale etc. The factory which was used to create the session. Gets the endpoint used to connect to the server. Gets the name assigned to the session. Gets the period for wich the server will maintain the session if there is no communication from the client. Gets the local handle assigned to the session. Gets the user identity currently used for the session. Gets a list of user identities that can be used to connect to the server. Gets the table of namespace uris known to the server. Gest the table of remote server uris known to the server. Gets the system context for use with the session. Gets the factory used to create encodeable objects that the server understands. Gets the cache of the server's type tree. Gets the cache of nodes fetched from the server. Gets the context to use for filter operations. Gets the locales that the server should use when returning localized text. Gets the data type system dictionaries in use. Gets the subscriptions owned by the session. Gets the number of subscriptions owned by the session. If the subscriptions are deleted when a session is closed. Gets or Sets the default subscription for the session. Gets or Sets how frequently the server is pinged to see if communication is still working. This interval controls how much time elaspes before a communication error is detected. If everything is ok the KeepAlive event will be raised each time this period elapses. Returns true if the session is not receiving keep alives. Set to true if the server does not respond for 2 times the KeepAliveInterval. Set to false is communication recovers. Gets the time of the last keep alive. Gets the number of outstanding publish or keep alive requests. Gets the number of outstanding publish or keep alive requests which appear to be missing. Gets the number of good outstanding publish requests. Gets and sets the minimum number of publish requests to be used in the session. Stores the operation limits of a OPC UA Server. If the subscriptions are transferred when a session is reconnected. Default false, set to true if subscriptions should be transferred after reconnect. Service must be supported by server. Whether the endpoint Url domain is checked in the certificate. Raised before a reconnect operation completes. Reconnects to the server after a network failure. Reconnects to the server after a network failure using a waiting connection. Reconnects to the server using a new channel. Saves all the subscriptions of the session. The file path. Saves a set of subscriptions to a stream. Saves a set of subscriptions to a file. Load the list of subscriptions saved in a stream. The stream. Load the subscriptions for transfer after load. The list of loaded subscriptions Load the list of subscriptions saved in a file. The file path. Load the subscriptions for transfer after load. The list of loaded subscriptions Returns the active session configuration and writes it to a stream. Applies a session configuration. Using a secure channel, with the session configuration a session can be reconnected. Updates the local copy of the server's namespace uri and server uri tables. Updates the cache with the type and its subtypes. This method can be used to ensure the TypeTree is populated. Updates the cache with the types and its subtypes. This method can be used to ensure the TypeTree is populated. Returns the available encodings for a node The variable node. Returns the data description for the encoding. The encoding Id. Returns the data dictionary that contains the description. The description id. Returns the data dictionary that contains the description. The dictionary id. The dictionary. Loads all dictionaries of the OPC binary or Xml schema type system. The type system. Reads the values for the node attributes and returns a node object. The nodeId. Reads the values for the node attributes and returns a node object. If the nodeclass is known, only the supported attribute values are read. The nodeId. The nodeclass of the node to read. Read optional attributes. Reads the values for the node attributes and returns a node object. Reads the nodeclass of the nodeIds, then reads the values for the node attributes and returns a node object collection. The nodeId collection. The node collection read from the server. The errors occured reading the nodes. Set to true if optional attributes should not be omitted. Reads the values for the node attributes and returns a node object collection. If the nodeclass for the nodes in nodeIdCollection is already known, and passed as nodeClass, reads only values of required attributes. Otherwise NodeClass.Unspecified should be used. The nodeId collection to read. The nodeClass of all nodes in the collection. Set to NodeClass.Unspecified if the nodeclass is unknown. The node collection that is created from attributes read from the server. The errors that occured reading the nodes. Set to true if optional attributes should not be omitted. Reads the value for a node. The node Id. Reads the value for a node an checks that it is the specified type. The node id. The expected type. Reads the values for a node collection. Returns diagnostic errors. The node Id. The data values read from the server. The errors reported by the server. Fetches all references for the specified node. The node id. Fetches all references for the specified nodes. The node id collection. A list of reference collections. The errors reported by the server. Establishes a session with the server. The name to assign to the session. The user identity. Establishes a session with the server. The name to assign to the session. The session timeout. The user identity. The list of preferred locales. Establishes a session with the server. The name to assign to the session. The session timeout. The user identity. The list of preferred locales. If set to true then the domain in the certificate must match the endpoint used. Updates the preferred locales used for the session. The preferred locales. Updates the user identity and/or locales used for the session. The user identity. The preferred locales. Finds the NodeIds for the components for an instance. Reads the values for a set of variables. The variable ids. The expected types. The list of returned values. The list of returned errors. Reads the display name for a set of Nodes. Reads the values for the node attributes and returns a node object collection. If the nodeclass for the nodes in nodeIdCollection is already known and passed as nodeClass, reads only values of required attributes. Otherwise NodeClass.Unspecified should be used. The nodeId collection to read. The nodeClass of all nodes in the collection. Set to NodeClass.Unspecified if the nodeclass is unknown. Set to true if optional attributes should not be omitted. The cancellation token. The node collection and associated errors. Reads the value for a node. The node Id. The cancellation token for the request. Reads the values for the node attributes and returns a node object. The nodeId. The cancellation token for the request. Reads the values for the node attributes and returns a node object. If the nodeclass is known, only the supported attribute values are read. The nodeId. The nodeclass of the node to read. Read optional attributes. The cancellation token for the request. Reads the values for the node attributes and returns a node object collection. Reads the nodeclass of the nodeIds, then reads the values for the node attributes and returns a node collection. The nodeId collection. If optional attributes to read. The cancellation token. Reads the values for a node collection. Returns diagnostic errors. The node Id. The cancellation token for the request. Disconnects from the server and frees any network resources with the specified timeout. Close the session with the server and optionally closes the channel. Disconnects from the server and frees any network resources with the specified timeout. Disconnects from the server and frees any network resources with the default timeout. Close the session with the server and optionally closes the channel. Disconnects from the server and frees any network resources with the specified timeout. Disconnects from the server and frees any network resources with the specified timeout. Adds a subscription to the session. The subscription to add. Removes a subscription from the session. The subscription to remove. Removes a list of subscriptions from the session. The list of subscriptions to remove. Reactivates a list of subscriptions loaded from storage. The list of subscriptions to reactivate. Send the last value of each monitored item in the subscriptions. Transfers a list of subscriptions from another session. The list of subscriptions to transfer. Send the last value of each monitored item in the subscriptions. Removes a transferred subscription from the session. Called by the session to which the subscription is transferred to obtain ownership. Internal. The subscription to remove. Removes a subscription from the session. The subscription to remove. The cancellation token for the request. Removes a list of subscriptions from the session. The list of subscriptions to remove. The cancellation token for the request. Reactivates a list of subscriptions loaded from storage. The list of subscriptions to reactivate. Send the last value of each monitored item in the subscriptions. The cancellation token for the request. Transfers a list of subscriptions from another session. The list of subscriptions to transfer. Send the last value of each monitored item in the subscriptions. The cancellation token for the request. Invokes the Browse service. The request header. The view to browse. The node to browse. The maximum number of returned values. The browse direction. The reference type id. If set to true the subtypes of the ReferenceType will be included in the browse. The node class mask. The continuation point. The list of node references. Begins an asynchronous invocation of the Browse service. The request header. The view to browse. The node to browse. The maximum number of returned values.. The browse direction. The reference type id. If set to true the subtypes of the ReferenceType will be included in the browse. The node class mask. The callback. Finishes an asynchronous invocation of the Browse service. The result. The continuation point. The list of node references. Invokes the BrowseNext service. Begins an asynchronous invocation of the BrowseNext service. Finishes an asynchronous invocation of the BrowseNext service. Calls the specified method and returns the output arguments. The NodeId of the object that provides the method. The NodeId of the method to call. The input arguments. The list of output argument values. Calls the specified method and returns the output arguments. The NodeId of the object that provides the method. The NodeId of the method to call. The cancellation token for the request. The input arguments. The list of output argument values. Sends an additional publish request. Sends a republish request. Call the ResendData method on the server for all subscriptions. Call the ResendData method on the server for all subscriptions. Object that creates instances of an ISessions object. Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. The name to assign to the session. The timeout period for the session. The identity. The user identity to associate with the session. The cancellation token The new session object Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token The new session object. Creates a new session with a server using the specified channel by invoking the CreateSession service. The configuration for the client application. The channel for the server. The endpoint for the server. The certificate to use for the client. The list of available endpoints returned by server in GetEndpoints() response. The value of profileUris used in GetEndpoints() request. Creates a secure channel to the specified endpoint. The application configuration. The client endpoint for the reverse connect. A configured endpoint to connect to. Update configuration based on server prior connect. Check that the certificate specifies a valid domain (computer) name. The cancellation token. A representing the asynchronous operation. Creates a new communication session with a server using a reverse connection. The configuration for the client application. The client endpoint for the reverse connect. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token The new session object. Creates a new communication session with a server using a reverse connect manager. The configuration for the client application. The reverse connect manager for the client connection. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token. The new session object. Recreates a session based on a specified template. The ISession object to use as template The cancellation token. The new session object. Recreates a session based on a specified template. The ISession object to use as template The waiting reverse connection. The cancellation token. The new session object. Recreates a session based on a specified template using the provided channel. The Session object to use as template The channel to use to recreate the session. The cancellation token. The new session object. A monitored item. Initializes a new instance of the class. Initializes a new instance of the class. The client handle. The caller must ensure it uniquely identifies the monitored item. Initializes a new instance of the class. The template used to specify the monitoring parameters. Initializes a new instance of the class. The template used to specify the monitoring parameters. if set to true the event handlers are copied. Initializes a new instance of the class. The template used to specify the monitoring parameters. if set to true the event handlers are copied. if set to true the clientHandle is of the template copied. Called by the .NET framework during deserialization. Sets the private members to default values. A display name for the monitored item. The start node for the browse path that identifies the node to monitor. The relative path from the browse path to the node to monitor. A null or empty string specifies that the start node id should be monitored. The node class of the node being monitored (affects the type of filter available). The attribute to monitor. The range of array indexes to monitor. The encoding to use when returning notifications. The monitoring mode. The sampling interval. The filter to use to select values to return. The length of the queue used to buffer values. Whether to discard the oldest entries in the queue when it is full. Server-assigned id for the MonitoredItem. The subscription that owns the monitored item. A local handle assigned to the monitored item. Whether the item has been created on the server. The identifier assigned by the client. The node id to monitor after applying any relative path. Whether the monitoring attributes have been modified since the item was created. The status associated with the monitored item. Returns the queue size used by the cache. The last value or event received from the server. Read all values in the cache queue. Read all events in the cache queue. The last message containing a notification for the item. Raised when a new notification arrives. Reset the notification event handler. Saves a data change or event in the cache. Creates a deep copy of the object. Sets the error status for the monitored item. Updates the object with the results of a translate browse path request. Updates the object with the results of a create monitored item request. Updates the object with the results of a modify monitored item request. Updates the object with the results of a transfer subscription request. Updates the object with the results of a delete monitored item request. Returns the field name the specified SelectClause in the EventFilter. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. Returns value of the field name containing the event type. The service result for a data change notification. The service result for a field in an notification (the field must contain a Status object). Throws an exception if the flter cannot be used with the node class. Sets the default event filter. The event arguments provided when a new notification message arrives. Creates a new instance. The new notification. The delegate used to receive monitored item value notifications. An item in the cache Constructs a cache for a monitored item. The size of the queue to maintain. The last value received from the server. Returns all values in the queue. Saves a notification in the cache. Changes the queue size. Saves the events received from the srever. Constructs a cache for a monitored item. The size of the queue to maintain. The last event received. Returns all events in the queue. Saves a notification in the cache. Changes the queue size. The current status of monitored item. Creates a empty object. The identifier assigned by the server. Whether the item has been created on the server. Any error condition associated with the monitored item. The node id being monitored. The attribute being monitored. The range of array indexes to being monitored. The encoding to use when returning notifications. The monitoring mode. The identifier assigned by the client. The sampling interval. The filter to use to select values to return. The result of applying the filter The length of the queue used to buffer values. Whether to discard the oldest entries in the queue when it is full. Updates the monitoring mode. Updates the object with the results of a translate browse paths request. Updates the object with the results of a create monitored item request. Updates the object with the results of a transfer monitored item request. Updates the object with the results of a modify monitored item request. Updates the object with the results of a delete item request. Sets the error state for the monitored item status. An implementation of a client side nodecache. Initializes the object with default values. Destructor to clean up. Event source for high performance logging. The client messages. The Client Event Ids used for event messages, when calling ILogger. The state of the client subscription. The notification message. Called internally to convert wrapped value. A notification received in Publish complete. A Publish begin received. A Publish complete received. Log a Notification. The implementation of a reverse connect client manager. This reverse connect manager allows to register for reverse connections with various strategies: i) take any connection. ii) filter for a specific application Uri and Url scheme. iii) filter for the Url. Second, any filter can be combined with the Once or Always flag. A default value for reverse hello configurations, if undefined. This value is used as wait timeout if the value is undefined by a caller. Internal state of the reverse connect manager. Internal state of the reverse connect host. Specify the strategy for the reverse connect registration. Undefined strategy, defaults to Once. Remove entry after reverse connect callback. Always callback on matching url or uri. Flag for masking any connection. Respond to any incoming reverse connection, remove entry after reverse connect callback. Respond to any incoming reverse connection, always callback. Entry for a client reverse connect registration. Record to store information on a client registration for a reverse connect event. Register with the server certificate. Initializes the object with default values. Dispose implementation. An overrideable version of the Dispose. true to release both managed and unmanaged resources; false to release only unmanaged resources. Raised when the configuration changes. The sender. The instance containing the event data. Called when the configuration is changed on disk. The configuration. Called when the reverse connect configuration is changed. An empty configuration or null stops service on all configured endpoints. The client endpoint configuration. Open host ports. Close host ports. Dispose the hosts; Add endpoint for reverse connection. Starts the server application. The configuration. Starts the server application. The configuration. Clears all waiting reverse connectino handlers. Helper to wait for a reverse connection. Register for a waiting reverse connection. The endpoint Url of the reverse connection. Optional. The server application Uri of the reverse connection. The callback The reverse connect callback strategy. Unregister reverse connection callback. The hashcode returned by the registration. Called before the server stops Called to start hosting the reverse connect ports. Remove configuration endpoints from list. Add endpoint for reverse connection. The endpoint Url of the reverse connect client endpoint. Tf this is an entry in the application configuration. Raised when a reverse connection is waiting, finds and calls a waiting connection. Match the waiting connection with a registration, callback registration, return if connection is accepted in event. true if a match was found. Raised when a connection status changes. Renew the cancellation token after use. Manages a session with a server. Manages a session with a server. Contains the async versions of the public session api. Obsolete warnings for service calls which should not be used when using the Session API. Constructs a new instance of the class. The channel used to communicate with the server. The configuration for the client application. The endpoint use to initialize the channel. Constructs a new instance of the class. The channel used to communicate with the server. The configuration for the client application. The endpoint used to initialize the channel. The certificate to use for the client. The list of available endpoints returned by server in GetEndpoints() response. The value of profileUris used in GetEndpoints() request. The application configuration is used to look up the certificate if none is provided. The clientCertificate must have the private key. This will require that the certificate be loaded from a certicate store. Converting a DER encoded blob to a X509Certificate2 will not include a private key. The availableEndpoints and discoveryProfileUris parameters are used to validate that the list of EndpointDescriptions returned at GetEndpoints matches the list returned at CreateSession. Initializes a new instance of the class. The channel. The template session. if set to true the event handlers are copied. Initializes the channel. Sets the object members to default values. Check if all required configuration fields are populated. Validates the server nonce and security parameters of user identity. Closes the session and the underlying channel. Raised when a keep alive arrives from the server or an error is detected. Once a session is created a timer will periodically read the server state and current time. If this read operation succeeds this event will be raised each time the keep alive period elapses. If an error is detected (KeepAliveStopped == true) then this event will be raised as well. Raised when a notification message arrives in a publish response. All publish requests are managed by the Session object. When a response arrives it is validated and passed to the appropriate Subscription object and this event is raised. Raised when an exception occurs while processing a publish response. Exceptions in a publish response are not necessarily fatal and the Session will attempt to recover by issuing Republish requests if missing messages are detected. That said, timeout errors may be a symptom of a OperationTimeout that is too short when compared to the shortest PublishingInterval/KeepAliveCount amount the current Subscriptions. The OperationTimeout should be twice the minimum value for PublishingInterval*KeepAliveCount. Raised when a subscription is added or removed Raised to indicate the session is closing. A session factory that was used to create the session. Gets the endpoint used to connect to the server. Gets the name assigned to the session. Gets the period for wich the server will maintain the session if there is no communication from the client. Gets the local handle assigned to the session. Gets the user identity currently used for the session. Gets a list of user identities that can be used to connect to the server. Gets the table of namespace uris known to the server. Gets the table of remote server uris known to the server. Gets the system context for use with the session. Gets the factory used to create encodeable objects that the server understands. Gets the cache of the server's type tree. Gets the cache of nodes fetched from the server. Gets the context to use for filter operations. Gets the locales that the server should use when returning localized text. Gets the data type system dictionaries in use. Gets the subscriptions owned by the session. Gets the number of subscriptions owned by the session. If the subscriptions are deleted when a session is closed. Default true, set to false if subscriptions need to be transferred or for durable subscriptions. If the subscriptions are transferred when a session is reconnected. Default false, set to true if subscriptions should be transferred after reconnect. Service must be supported by server. Whether the endpoint Url domain is checked in the certificate. Gets or Sets the default subscription for the session. Gets or Sets how frequently the server is pinged to see if communication is still working. This interval controls how much time elaspes before a communication error is detected. If everything is ok the KeepAlive event will be raised each time this period elapses. Returns true if the session is not receiving keep alives. Set to true if the server does not respond for 2 times the KeepAliveInterval. Set to false is communication recovers. Gets the time of the last keep alive. Gets the number of outstanding publish or keep alive requests. Gets the number of outstanding publish or keep alive requests which appear to be missing. Gets the number of good outstanding publish requests. Gets and sets the minimum number of publish requests to be used in the session. Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. The name to assign to the session. The timeout period for the session. The identity. The user identity to associate with the session. The cancellation token. The new session object Creates a new communication session with a server by invoking the CreateSession service The configuration for the client application. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token. The new session object. Creates a new session with a server using the specified channel by invoking the CreateSession service The configuration for the client application. The channel for the server. The endpoint for the server. The certificate to use for the client. The list of available endpoints returned by server in GetEndpoints() response. The value of profileUris used in GetEndpoints() request. Creates a secure channel to the specified endpoint. The application configuration. The client endpoint for the reverse connect. A configured endpoint to connect to. Update configuration based on server prior connect. Check that the certificate specifies a valid domain (computer) name. The cancellation token. A representing the asynchronous operation. Creates a new communication session with a server using a reverse connection. The configuration for the client application. The client endpoint for the reverse connect. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token. The new session object. Creates a new communication session with a server using a reverse connect manager. The configuration for the client application. The reverse connect manager for the client connection. The endpoint for the server. If set to true the discovery endpoint is used to update the endpoint description before connecting. If set to true then the domain in the certificate must match the endpoint used. The name to assign to the session. The timeout period for the session. The user identity to associate with the session. The preferred locales. The cancellation token. The new session object. Recreates a session based on a specified template. The Session object to use as template The new session object. Recreates a session based on a specified template. The Session object to use as template The waiting reverse connection. The new session object. Recreates a session based on a specified template using the provided channel. The Session object to use as template The waiting reverse connection. The new session object. Reconnects to the server after a network failure using a waiting connection. Fetch the operation limits of the server. Returns the software certificates assigned to the application. Handles an error when validating the application instance certificate provided by the server. Handles an error when validating software certificates provided by the server. Inspects the software certificates provided by the server. Starts a timer to check that the connection to the server is still available. Removes a completed async request. Adds a new async request. Removes a completed async request. Sends a keep alive by reading from the server. Checks if a notification has arrived. Sends a publish if it has not. Called when the server returns a keep alive response. Called when a error occurs during a keep alive. Prepare a list of subscriptions to delete. Creates a read request with attributes determined by the NodeClass. Creates a read request with attributes determined by the NodeClass. Builds the node collection results based on the attribute values of the read response. The collection of all attributes to read passed in the read request. The attributes requested per NodeId The attribute values returned by the read request. The diagnostic info returned by the read request. The response header of the read request. The node collection which holds the results. The service results for each node. Creates a Node based on the read response. Create a dictionary of attributes to read for a nodeclass. Sends an additional publish request. Completes an asynchronous publish operation. Processes the response from a publish request. Recreate the subscriptions in a reconnected session. Uses Transfer service if is set to true. The template for the subscriptions. Raises an event indicating that publish has returned a notification. Invokes a DeleteSubscriptions call for the specified subscriptionId. Load certificate for connection. Load certificate chain for connection. Helper to determine if a continuation point needs to be processed. Returns true if the Bad_TooManyPublishRequests limit has not been reached. The actual number of publish requests. If the publish request limit was reached. Returns the minimum number of active publish request that should be used. Returns 0 if there are no subscriptions. Creates resend data call requests for the subscriptions. The subscriptions to call resend data. Create the publish requests for the active subscriptions. Creates and validates the subscription ids for a transfer. The subscriptions to transfer. The subscription ids for the transfer. Thrown if a subscription is in invalid state. Indicates that the session configuration has changed. The period for which the server will maintain the session if there is no communication from the client. The locales that the server should use when returning localized text. The Application Configuration. The endpoint used to connect to the server. The Instance Certificate. The Instance Certificate Chain. If set totrue then the domain in the certificate must match the endpoint used. The name assigned to the session. The user identity currently used for the session. The event arguments provided when a keep alive response arrives. Creates a new instance. Gets the status associated with the keep alive operation. Gets the current server state. Gets the current server time. Gets or sets a flag indicating whether the session should send another keep alive. Represents the event arguments provided when a new notification message arrives. Creates a new instance. Gets the subscription that the notification applies to. Gets the notification message. Gets the string table returned with the notification message. Represents the event arguments provided when a publish error occurs. Creates a new instance. Creates a new instance. Gets the status associated with the keep alive operation. Gets the subscription with the message that could not be republished. Gets the sequence number for the message that could not be republished. Represents the event arguments provided when publish response sequence numbers are about to be achknoledged with a publish request. A callee can defer an acknowledge to the next publish request by moving the to the deferred list. The callee can modify the list of acknowledgements to send, it is the responsibility of the caller to protect the lists for modifications. Creates a new instance. The acknowledgements which are sent with the next publish request. A client may also chose to remove an acknowledgement from this list to add it back to the list in a subsequent callback when the request is fully processed. The deferred list of acknowledgements. The callee can transfer an outstanding to this list to defer the acknowledge of a sequence number to the next publish request. A session configuration stores all the information needed to reconnect a session with a new secure channel. Creates a session configuration Creates the session configuration from a stream. The session name used by the client. The session id assigned by the server. The authentication token used by the server to identify the session. The identity used to create the session. The configured endpoint for the secure channel. If the client is configured to check the certificate domain. The last server nonce received. Attempts to reconnect to the server. The minimum reconnect period in ms. The maximum reconnect period in ms. The default reconnect period in ms. The default reconnect operation timeout in ms. The internal state of the reconnect handler. The reconnect handler is ready to start the reconnect timer. The reconnect timer is triggered and waiting to reconnect. The reconnection is in progress. The reconnect handler is disposed and can not be used for further reconnect attempts. Create a reconnect handler. Set to true to allow reconnect abort if keep alive recovered. The upper limit for the reconnect period after exponential backoff. -1 (default) indicates that no exponential backoff should be used. Frees any unmanaged resources. An overrideable version of the Dispose. Gets the session managed by the handler. The session. The internal state of the reconnect handler. Cancel a reconnect in progress. Begins the reconnect process. Begins the reconnect process using a reverse connection. Returns the reconnect period with a random jitter. Returns the reconnect period within the min and max boundaries. Called when the reconnect timer expires. Reconnects to the server. Reset the timer and enter ready state. A subscription. The async interface for a subscription. Creates a empty object. Initializes the subscription from a template. Initializes the subscription from a template. The template. if set to true the event handlers are copied. Resets the state of the publish timer and associated message worker. Called by the .NET framework during deserialization. Sets the private members to default values. Frees any unmanaged resources. An overrideable version of the Dispose. Raised to indicate that the state of the subscription has changed. Raised to indicate the publishing state for the subscription has stopped or resumed (see PublishingStopped property). A display name for the subscription. The publishing interval. The keep alive count. The life time of of the subscription in counts of publish interval. LifetimeCount shall be at least 3*KeepAliveCount. The maximum number of notifications per publish request. Whether publishing is enabled. The priority assigned to subscription. The timestamps to return with the notification messages. The maximum number of messages to keep in the internal cache. The default monitored item. The minimum lifetime for subscriptions in milliseconds. Gets or sets a value indicating whether the notifications are cached within the monitored items. true if monitored item cache is disabled; otherwise, false. Applications must process the Session.Notication event if this is set to true. This flag improves performance by eliminating the processing involved in updating the cache. Gets or sets the behavior of waiting for sequential order in handling incoming messages. true if incoming messages are handled sequentially; false otherwise. Setting to true means incoming messages are processed in a "single-threaded" manner and callbacks will not be invoked in parallel. If the available sequence numbers of a subscription are republished or acknowledged after a transfer. Default false, set to true if no data loss is important and available publish requests (sequence numbers) that were never acknowledged should be recovered with a republish. The setting is used after a subscription transfer. The unique identifier assigned by the server which can be used to transfer a session. Gets or sets the fast data change callback. The fast data change callback. Only one callback is allowed at a time but it is more efficient to call than an event. Gets or sets the fast event callback. The fast event callback. Only one callback is allowed at a time but it is more efficient to call than an event. Gets or sets the fast keep alive callback. The keep alive change callback. Only one callback is allowed at a time but it is more efficient to call than an event. The items to monitor. Allows the list of monitored items to be saved/restored when the object is serialized. Returns true if the subscription has changes that need to be applied. Returns the number of monitored items. The session that owns the subscription item. A local handle assigned to the subscription The unique identifier assigned by the server. Whether the subscription has been created on the server. The current publishing interval. The current keep alive count. The current lifetime count. Whether publishing is currently enabled. The priority assigned to subscription when it was created. The when that the last notification received was published. The when that the last notification was received. The sequence number assigned to the last notification message. The number of notifications contained in the last notification message. The last notification received from the server. The cached notifications. The sequence numbers that are available for republish requests. Sends a notification that the state of the subscription has changed. Returns true if the subscription is not receiving publishes. Creates a subscription on the server and adds all monitored items. Called after the subscription was transferred. The session to which the subscription is transferred. Id of the transferred subscription. The available sequence numbers on the server. Called after the subscription was transferred. The session to which the subscription is transferred. Id of the transferred subscription. The available sequence numbers on the server. The cancellation token. Deletes a subscription on the server. Modifies a subscription on the server. Changes the publishing enabled state for the subscription. Republishes the specified notification message. Applies any changes to the subscription items. Resolves all relative paths to nodes on the server. Creates all items that have not already been created. Modies all items that have been changed. Deletes all items that have been marked for deletion. Set monitoring mode of items. Adds the notification message to internal cache. Get the number of outstanding message workers Adds an item to the subscription. Adds an item to the subscription. Removes an item from the subscription. Removes an item from the subscription. Returns the monitored item identified by the client handle. Tells the server to refresh all conditions being monitored by the subscription. Call the ResendData method on the server for this subscription. Updates the available sequence numbers and queues after transfer. If is set to true, sequence numbers are queued for republish, otherwise ack may be sent. The list of available sequence numbers on the server. Call the GetMonitoredItems method on the server. Call the GetMonitoredItems method on the server. Starts a timer to ensure publish requests are sent frequently enough to detect network interruptions. Checks if a notification has arrived. Sends a publish if it has not. Periodically checks if the sessions have timed out. Dumps the current state of the session queue. Update the subscription with the given revised settings. Update the subscription with the given revised settings. Update the subscription with the given revised settings. Delete the subscription. Ignore errors, always reset all parameter. Ensures sensible values for the counts. Processes the incoming messages. Throws an exception if the subscription is not in the correct state. Validates the sequence number of the incoming publish request. Update the results to monitored items after updating the monitoring mode. Prepare the creation requests for all monitored items that have not yet been created. Prepare the modify requests for all monitored items that need modification. Transfer all monitored items and prepares the modify requests if transfer of client handles is not possible. Prepare the ResolveItem to NodeId service call. Saves a data change in the monitored item cache. Saves events in the monitored item cache. Find or create an entry for the incoming sequence number. The current Utc time. The sequence number for the new entry. A message received from the server cached until is processed or discarded. Creates a subscription on the server and adds all monitored items. Deletes a subscription on the server. Modifies a subscription on the server. Changes the publishing enabled state for the subscription. Republishes the specified notification message. Applies any changes to the subscription items. Resolves all relative paths to nodes on the server. Creates all items on the server that have not already been created. Modies all items that have been changed. Deletes all items that have been marked for deletion. Set monitoring mode of items. Tells the server to refresh all conditions being monitored by the subscription. Flags indicating what has changed in a subscription. The subscription has not changed. The subscription was created on the server. The subscription was deleted on the server. The subscription was modified on the server. Monitored items were added to the subscription (but not created on the server) Monitored items were removed to the subscription (but not deleted on the server) Monitored items were created on the server. Monitored items were deleted on the server. Monitored items were modified on the server. Subscription was transferred on the server. Flags indicating what has changed in a publish state change. The publish state has not changed. The publishing stopped. The publishing recovered. A keep alive message was received. A republish for a missing message was issued. The publishing was transferred to another node. The publishing was timed out The delegate used to receive data change notifications via a direct function call instead of a .NET Event. The delegate used to receive event notifications via a direct function call instead of a .NET Event. The delegate used to receive keep alive notifications via a direct function call instead of a .NET Event. The event arguments provided when the state of a subscription changes. Creates a new instance. The changes that have affected the subscription. The delegate used to receive subscription state change notifications. The event arguments provided when the state of a subscription changes. Creates a new instance. The publish state changes. The delegate used to receive publish state change notifications. A collection of subscriptions. Initializes an empty collection. Initializes the collection from another collection. The existing collection to use as the basis of creating this collection Initializes the collection with the specified capacity. The max. capacity of the collection Decorator class for traceable session with Activity Source. Initializes a new instance of the class. Activity Source Name. Activity Source static instance. The ISession which is being traced. Disposes the session. Object that creates instances of an Opc.Ua.Client.Session object with Activity Source. The default instance of the factory. Force use of the default instance. The client side interface with support for batching according to operation limits. Intializes the object with a channel and default operation limits. The operation limits are used to batch the service requests. Initialize the collections for a service call. Preset the result collections with null if the operation limit is sufficient or with the final size if batching is necessary. Add the result of a batched service call to the results. Assigns the batched collection result to the result if the result collection is not initialized, adds the range to the result collections otherwise. The string table indexes are updated in the diagnostic infos if necessary. Extension helpers for client service calls. Returns batches of a collection for processing. Returns the original collection if batchsize is 0 or the collection count is smaller than the batch size. The type of the items in the collection. The type of the items in the collection. The collection from which items are batched. The size of a batch. The collection.