High Performance OPC UA Server SDK  1.2.0.193
ua_createsubscriptionrequest Struct Reference

Asynchronous call to create a Subscription. More...

#include <createsubscriptionrequest.h>

Data Fields

double requested_publishing_interval
 This interval defines the cyclic rate that the Subscription is being requested to return Notifications to the Client. More...
 
uint32_t requested_lifetime_count
 Requested lifetime count. More...
 
uint32_t requested_max_keep_alive_count
 Requested maximum keep-alive count. More...
 
uint32_t max_notifications_per_publish
 The maximum number of notifications that the Client wishes to receive in a single Publish response. More...
 
bool publishing_enabled
 A Boolean parameter with the following values: More...
 
uint8_t priority
 Indicates the relative priority of the Subscription. More...
 

Related Functions

void ua_createsubscriptionrequest_init (struct ua_createsubscriptionrequest *t)
 Initialize an ua_createsubscriptionrequest struct with a valid value. More...
 
void ua_createsubscriptionrequest_clear (struct ua_createsubscriptionrequest *t)
 Clear all resources alloctated in an ua_createsubscriptionrequest struct. More...
 
int ua_createsubscriptionrequest_compare (const struct ua_createsubscriptionrequest *a, const struct ua_createsubscriptionrequest *b)
 Compare two ua_createsubscriptionrequest structs. More...
 
int ua_createsubscriptionrequest_copy (struct ua_createsubscriptionrequest *dst, const struct ua_createsubscriptionrequest *src)
 Create a copy of a ua_createsubscriptionrequest struct. More...
 

Detailed Description

Asynchronous call to create a Subscription.

Subscriptions monitor a set of MonitoredItems for notifications and return them to the Client in response to Publish requests.

Friends And Related Function Documentation

void ua_createsubscriptionrequest_clear ( struct ua_createsubscriptionrequest t)
related

Clear all resources alloctated in an ua_createsubscriptionrequest struct.

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

int ua_createsubscriptionrequest_compare ( const struct ua_createsubscriptionrequest a,
const struct ua_createsubscriptionrequest b 
)
related

Compare two ua_createsubscriptionrequest structs.

Compares the content of the ua_createsubscriptionrequest struct a to the content of the ua_createsubscriptionrequest 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_createsubscriptionrequest structs, so it is well suited to not only determine equality, but also sort multiple instances of this struct.

int ua_createsubscriptionrequest_copy ( struct ua_createsubscriptionrequest dst,
const struct ua_createsubscriptionrequest src 
)
related

Create a copy of a ua_createsubscriptionrequest struct.

Copy all fields from struct ua_createsubscriptionrequest 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_createsubscriptionrequest_init ( struct ua_createsubscriptionrequest t)
related

Initialize an ua_createsubscriptionrequest 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_createsubscriptionrequest struct can also be passed to ua_createsubscriptionrequest_clear. This function will always succeed as long as an ua_createsubscriptionrequest struct is passed to it.

Field Documentation

max_notifications_per_publish

The maximum number of notifications that the Client wishes to receive in a single Publish response.

A value of zero indicates that there is no limit.

The number of notifiations per Publish is the sum of monitoredItems in the DataChangeNotification and events in the EventNotificationList.

priority

Indicates the relative priority of the Subscription.

When more than one Subscription needs to send Notifications, the Server should dequeue a Publish request to the Subscription with the highest priority number. For Subscriptions with equal priority the Server should dequeue Publish requests in a round-robin fashion. When the keep-alive period expires for a Subscription it shall take precedence regardless of its priority, in order to prevent the Subscription from expiring.

A Client that does not require special priority settings should set this value to zero.

publishing_enabled

A Boolean parameter with the following values:

TRUE
publishing is enabled for the Subscription.
FALSE
publishing is disabled for the Subscription.

The value of this parameter does not affect the value of the monitoring mode Attribute of MonitoredItems.

requested_lifetime_count

Requested lifetime count.

The lifetime count shall be a mimimum of three times the keep keep-alive count. When the publishing timer has expired this number of times without a Publish request being available to send a NotificationMessage, then the Subscription shall be deleted by the Server.

requested_max_keep_alive_count

Requested maximum keep-alive count.

When the publishing timer has expired this number of times without requiring any NotificationMessage to be sent, the Subscription sends a keep-alive Message to the Client.

The negotiated value for this parameter is returned in the response.

If the requested value is 0, the server shall revise with the smallest supported keep-alive count.

requested_publishing_interval

This interval defines the cyclic rate that the Subscription is being requested to return Notifications to the Client.

This interval is expressed in milliseconds. This interval is represented by the publishing timer in the Subscription state table.

The negotiated value for this parameter returned in the response is used as the default sampling interval for MonitoredItems assigned to this Subscription.

If the requested value is 0 or negative, the server shall revise with the fastest supported publishing interval.


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