High Performance OPC UA Server SDK  1.2.0.193
ua_monitoringparameters Struct Reference

Parameters that define the monitoring characteristics of a MonitoredItem. More...

#include <monitoringparameters.h>

Data Fields

uint32_t client_handle
 Client-supplied id of the MonitoredItem. More...
 
double sampling_interval
 The interval in milliseconds that defines the fastest rate at which the MonitoredItem(s) should be accessed and evaluated. More...
 
struct ua_extensionobject filter
 A filter used by the Server to determine if the MonitoredItem should generate a Notification. More...
 
uint32_t queue_size
 The requested size of the MonitoredItem queue. More...
 
bool discard_oldest
 A boolean parameter that specifies the discard policy when the queue is full and a new Notification is to be enqueued. More...
 

Related Functions

void ua_monitoringparameters_init (struct ua_monitoringparameters *t)
 Initialize an ua_monitoringparameters struct with a valid value. More...
 
void ua_monitoringparameters_clear (struct ua_monitoringparameters *t)
 Clear all resources alloctated in an ua_monitoringparameters struct. More...
 
int ua_monitoringparameters_compare (const struct ua_monitoringparameters *a, const struct ua_monitoringparameters *b)
 Compare two ua_monitoringparameters structs. More...
 
int ua_monitoringparameters_copy (struct ua_monitoringparameters *dst, const struct ua_monitoringparameters *src)
 Create a copy of a ua_monitoringparameters struct. More...
 

Detailed Description

Parameters that define the monitoring characteristics of a MonitoredItem.

Friends And Related Function Documentation

void ua_monitoringparameters_clear ( struct ua_monitoringparameters t)
related

Clear all resources alloctated in an ua_monitoringparameters struct.

Frees allocated memory like arrays and resets numeric values. The ua_monitoringparameters struct itself is not freed and must be freed by the caller if required. This function always succeeds for a valid ua_monitoringparameters struct, that was validly decoded, initilized by ua_monitoringparameters_init or created with ua_monitoringparameters_copy.

int ua_monitoringparameters_compare ( const struct ua_monitoringparameters a,
const struct ua_monitoringparameters b 
)
related

Compare two ua_monitoringparameters structs.

Compares the content of the ua_monitoringparameters struct a to the content of the ua_monitoringparameters struct b. If a is smaller than b, an integer less than zero is returned, if a is bigger than b, an integer greater than zero is returned. If both structs are equal zero is returned.

This function creates a total order on ua_monitoringparameters structs, so it is well suited to not only determine equality, but also sort multiple instances of this struct.

int ua_monitoringparameters_copy ( struct ua_monitoringparameters dst,
const struct ua_monitoringparameters src 
)
related

Create a copy of a ua_monitoringparameters struct.

Copy all fields from struct ua_monitoringparameters src to dst. Creates a deep copy so all content is recusively copied and both src and dst can be used and must be freed separately.

dst is not cleared before the copy operation, so it must not have any allocated data. It may or may not be initilized by the caller before copy.

Returns
Zero on success or ua_statuscode on failure.
void ua_monitoringparameters_init ( struct ua_monitoringparameters t)
related

Initialize an ua_monitoringparameters struct with a valid value.

After initialization the fields of the struct are set to valid and consistent values and can safley be accessed. An initialized ua_monitoringparameters struct can also be passed to ua_monitoringparameters_compare, ua_monitoringparameters_copy and ua_monitoringparameters_clear. This function will always succeed as long as an ua_monitoringparameters struct is passed to it.

Field Documentation

client_handle

Client-supplied id of the MonitoredItem.

This id is used in Notifications generated for the list Node.

discard_oldest

A boolean parameter that specifies the discard policy when the queue is full and a new Notification is to be enqueued.

It has the following values:

TRUE
the oldest (first) Notification in the queue is discarded. The new Notification is added to the end of the queue.
FALSE
the new Notification is discarded. The queue is unchanged.
filter

A filter used by the Server to determine if the MonitoredItem should generate a Notification.

If not used, this parameter is null. The MonitoringFilter parameter type is an extensible parameter type. It specifies the types of filters that can be used.

queue_size

The requested size of the MonitoredItem queue.

The following values have special meaning for data monitored items:

0 or 1
the server returns the default queue size which shall be 1 as revisedQueueSize for data monitored items. The queue has a single entry, effectively disabling queuing.

For values larger than one a first-in-first-out queue is to be used. The Server may limit the size in revisedQueueSize. In the case of a queue overflow, the Overflow bit (flag) in the InfoBits portion of the DataValue statusCode is set in the new value.

The following values have special meaning for event monitored items:

0
the Server returns the default queue size for Event Notifications as revisedQueueSize for event monitored items.
1
the Server returns the minimum queue size the Server requires for Event Notifications as revisedQueueSize.
MaxUInt32
the Server returns the maximum queue size that the Server can support for Event Notifications as revisedQueueSize.

If a Client chooses a value between the minimum and maximum settings of the Server the value shall be returned in the revisedQueueSize. If the requested queueSize is outside the minimum or maximum, the Server shall return the corresponding bounding value.

In the case of a queue overflow, an Event of the type EventQueueOverflowEventType is generated.

sampling_interval

The interval in milliseconds that defines the fastest rate at which the MonitoredItem(s) should be accessed and evaluated.

The value 0 indicates that the Server should use the fastest practical rate.

The value -1 indicates that the default sampling interval defined by the publishing interval of the Subscription is requested. A different sampling interval is used if the publishing interval is not a supported sampling interval. Any negative number is interpreted as -1. The sampling interval is not changed if the publishing interval is changed by a subsequent call to the ModifySubscription Service.

The Server uses this parameter to assign the MonitoredItems to a sampling interval that it supports.

The assigned interval is provided in the revisedSamplingInterval parameter. The Server shall always return a revisedSamplingInterval that is equal or higher than the requested samplingInterval. If the requested samplingInterval is higher than the maximum sampling interval supported by the Server, the maximum sampling interval is returned.


The documentation for this struct was generated from the following files: