High Performance OPC UA Server SDK  1.2.0.193
ua_transfersubscriptionsrequest Struct Reference

Asynchronous call to transfer a subscription and its MonitoredItems from one Session to another. More...

#include <transfersubscriptionsrequest.h>

Data Fields

uint32_t * subscription_ids
 List of identifiers for the Subscriptions to be transferred to the new Client. More...
 
int32_t num_subscription_ids
 Number of elements in ua_transfersubscriptionsrequest::subscription_ids.
 
bool send_initial_values
 A boolean parameter indicating whether the first publish response should contain current values of all monitored items. More...
 

Related Functions

void ua_transfersubscriptionsrequest_init (struct ua_transfersubscriptionsrequest *t)
 Initialize an ua_transfersubscriptionsrequest struct with a valid value. More...
 
void ua_transfersubscriptionsrequest_clear (struct ua_transfersubscriptionsrequest *t)
 Clear all resources alloctated in an ua_transfersubscriptionsrequest struct. More...
 
int ua_transfersubscriptionsrequest_compare (const struct ua_transfersubscriptionsrequest *a, const struct ua_transfersubscriptionsrequest *b)
 Compare two ua_transfersubscriptionsrequest structs. More...
 
int ua_transfersubscriptionsrequest_copy (struct ua_transfersubscriptionsrequest *dst, const struct ua_transfersubscriptionsrequest *src)
 Create a copy of a ua_transfersubscriptionsrequest struct. More...
 
static int ua_transfersubscriptionsrequest_resize_subscription_ids_array (struct ua_transfersubscriptionsrequest *val, int32_t new_len)
 Resize the subscription_ids array of a ua_transfersubscriptionsrequest struct. More...
 

Detailed Description

Asynchronous call to transfer a subscription and its MonitoredItems from one Session to another.

For example, a Client may need to reopen a Session and then transfer its Subscriptions to that Session. It may also be used by one Client to take over a Subscription from another Client by transferring the Subscription to its Session.

The authenticationToken contained in the request header identifies the Session to which the Subscription and MonitoredItems shall be transferred. The Server shall validate that the Client of that Session is operating on behalf of the same user and that the potentially new Client supports the Profiles that are necessary for the Subscription. If the Server transfers the Subscription, it returns the sequence numbers of the NotificationMessages that are available for retransmission. The Client should acknowledge all messages in this list for which it will not request retransmission.

If the Server transfers the Subscription to the new Session, the Server shall issue a StatusChangeNotification notificationMessage with the status code Good_SubscriptionTransferred to the old Session.

Friends And Related Function Documentation

void ua_transfersubscriptionsrequest_clear ( struct ua_transfersubscriptionsrequest t)
related

Clear all resources alloctated in an ua_transfersubscriptionsrequest struct.

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

int ua_transfersubscriptionsrequest_compare ( const struct ua_transfersubscriptionsrequest a,
const struct ua_transfersubscriptionsrequest b 
)
related

Compare two ua_transfersubscriptionsrequest structs.

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

int ua_transfersubscriptionsrequest_copy ( struct ua_transfersubscriptionsrequest dst,
const struct ua_transfersubscriptionsrequest src 
)
related

Create a copy of a ua_transfersubscriptionsrequest struct.

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

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

static int ua_transfersubscriptionsrequest_resize_subscription_ids_array ( struct ua_transfersubscriptionsrequest val,
int32_t  new_len 
)
related

Resize the subscription_ids array of a ua_transfersubscriptionsrequest struct.

Depending on new_len and the current size of the array, the array will be created, increased, decreased or deleted. In case array members are removed these are cleared properly, new array members are initialized with zero.

Parameters
new_lenNew length of the subscription_ids array in number of members.
Returns
Zero on success or ua_statuscode on failure.

Field Documentation

send_initial_values

A boolean parameter indicating whether the first publish response should contain current values of all monitored items.

It has the following values:

TRUE
The first Publish response after the TransferSubscriptions call shall contain the current values of all Monitored Items in the Subscription where the Monitoring Mode is set to Reporting.
FALSE
The first Publish response after the TransferSubscriptions call shall contain only the value changes since the last Publish response was sent.

This parameter only applies to MonitoredItems used for monitoring Attribute changes.

subscription_ids

List of identifiers for the Subscriptions to be transferred to the new Client.

These identifiers are transferred from the primary Client to a backup Client via external mechanisms.


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