C# Класс Opc.Ua.Server.SubscriptionManager

A generic session manager object for a server.
Наследование: IDisposable, ISubscriptionManager
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
CompletePublish ( OperationContext context, AsyncPublishOperation operation ) : bool

Completes the publish.

ConditionRefresh ( OperationContext context, uint subscriptionId ) : void

Refreshes the conditions for the specified subscription.

CreateMonitoredItems ( OperationContext context, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequestCollection itemsToCreate, MonitoredItemCreateResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Adds monitored items to a subscription.

CreateSubscription ( OperationContext context, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, bool publishingEnabled, byte priority, uint &subscriptionId, double &revisedPublishingInterval, uint &revisedLifetimeCount, uint &revisedMaxKeepAliveCount ) : void

Creates a new subscription.

DeleteMonitoredItems ( OperationContext context, uint subscriptionId, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Deletes the monitored items in a subscription.

DeleteSubscription ( OperationContext context, uint subscriptionId ) : StatusCode

Deletes the specified subscription.

DeleteSubscriptions ( OperationContext context, UInt32Collection subscriptionIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Deletes group of subscriptions.

Dispose ( ) : void

Frees any unmanaged resources.

GetNextMessage ( OperationContext context, SessionPublishQueue queue, AsyncPublishOperation operation, uint &subscriptionId, UInt32Collection &availableSequenceNumbers, bool &moreNotifications ) : NotificationMessage

Publishes a subscription.

GetSubscriptions ( ) : IList

Returns all of the subscriptions known to the subscription manager.

ModifyMonitoredItems ( OperationContext context, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemModifyRequestCollection itemsToModify, MonitoredItemModifyResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Modifies monitored items in a subscription.

ModifySubscription ( OperationContext context, uint subscriptionId, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, double &revisedPublishingInterval, uint &revisedLifetimeCount, uint &revisedMaxKeepAliveCount ) : void

Modifies an existing subscription.

Publish ( OperationContext context, SubscriptionAcknowledgementCollection subscriptionAcknowledgements, AsyncPublishOperation operation, uint &subscriptionId, UInt32Collection &availableSequenceNumbers, bool &moreNotifications, StatusCodeCollection &acknowledgeResults, DiagnosticInfoCollection &acknowledgeDiagnosticInfos ) : NotificationMessage

Publishes a subscription.

Republish ( OperationContext context, uint subscriptionId, uint retransmitSequenceNumber ) : NotificationMessage

Republishes a previously published notification message.

SessionClosing ( OperationContext context, NodeId sessionId, bool deleteSubscriptions ) : void

Signals that a session is closing.

SetMonitoringMode ( OperationContext context, uint subscriptionId, MonitoringMode monitoringMode, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Changes the monitoring mode for a set of items.

SetPublishingMode ( OperationContext context, bool publishingEnabled, UInt32Collection subscriptionIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Sets the publishing mode for a set of subscriptions.

SetTriggering ( OperationContext context, uint subscriptionId, uint triggeringItemId, UInt32Collection linksToAdd, UInt32Collection linksToRemove, StatusCodeCollection &addResults, DiagnosticInfoCollection &addDiagnosticInfos, StatusCodeCollection &removeResults, DiagnosticInfoCollection &removeDiagnosticInfos ) : void

Updates the triggers for the monitored item.

Shutdown ( ) : void

Closes all subscriptions and rejects any new requests.

Startup ( ) : void

Starts up the manager makes it ready to create subscriptions.

SubscriptionManager ( IServerInternal server, ApplicationConfiguration configuration ) : System

Initializes the manager with its configuration.

TransferSubscriptions ( OperationContext context, UInt32Collection subscriptionIds, TransferResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Attaches a groups a subscriptions to a different sesssion.

Защищенные методы

Метод Описание
CalculateKeepAliveCount ( double publishingInterval, uint keepAliveCount ) : uint

Calculates the keep alive count.

CalculateLifetimeCount ( double publishingInterval, uint keepAliveCount, uint lifetimeCount ) : uint

Calculates the lifetime count.

CalculateMaxNotificationsPerPublish ( uint maxNotificationsPerPublish ) : uint

Calculates the maximum number of notifications per publish.

CalculatePublishingInterval ( double publishingInterval ) : double

Calculates the publishing interval.

CreateSubscription ( OperationContext context, uint subscriptionId, double publishingInterval, uint lifetimeCount, uint keepAliveCount, uint maxNotificationsPerPublish, byte priority, bool publishingEnabled ) : Subscription

Creates a new instance of a subscription.

Dispose ( bool disposing ) : void

An overrideable version of the Dispose.

RaiseSubscriptionEvent ( Subscription subscription, bool deleted ) : void

Raises an event related to a subscription.

Приватные методы

Метод Описание
CleanupSubscriptions ( IServerInternal server, IList subscriptionsToDelete ) : void

Cleanups the subscriptions.

CleanupSubscriptions ( object data ) : void

Deletes any expired subscriptions.

DoConditionRefresh ( object state ) : void

Completes a refresh conditions request.

GetPublishingIntervalCount ( ) : uint

Gets the total number of publishing intervals in use.

PublishSubscriptions ( object data ) : void

Periodically checks if the sessions have timed out.

SubscriptionExpired ( Subscription subscription ) : void

Called when a subscription expires.

UpdateCurrentMonitoredItemsCount ( SessionDiagnosticsDataType diagnostics, int change ) : void

Updates the current monitored item count for the session.

Описание методов

CalculateKeepAliveCount() защищенный Метод

Calculates the keep alive count.
protected CalculateKeepAliveCount ( double publishingInterval, uint keepAliveCount ) : uint
publishingInterval double
keepAliveCount uint
Результат uint

CalculateLifetimeCount() защищенный Метод

Calculates the lifetime count.
protected CalculateLifetimeCount ( double publishingInterval, uint keepAliveCount, uint lifetimeCount ) : uint
publishingInterval double
keepAliveCount uint
lifetimeCount uint
Результат uint

CalculateMaxNotificationsPerPublish() защищенный Метод

Calculates the maximum number of notifications per publish.
protected CalculateMaxNotificationsPerPublish ( uint maxNotificationsPerPublish ) : uint
maxNotificationsPerPublish uint
Результат uint

CalculatePublishingInterval() защищенный Метод

Calculates the publishing interval.
protected CalculatePublishingInterval ( double publishingInterval ) : double
publishingInterval double
Результат double

CompletePublish() публичный Метод

Completes the publish.
public CompletePublish ( OperationContext context, AsyncPublishOperation operation ) : bool
context OperationContext The context.
operation AsyncPublishOperation The asynchronous operation.
Результат bool

ConditionRefresh() публичный Метод

Refreshes the conditions for the specified subscription.
public ConditionRefresh ( OperationContext context, uint subscriptionId ) : void
context OperationContext
subscriptionId uint
Результат void

CreateMonitoredItems() публичный Метод

Adds monitored items to a subscription.
public CreateMonitoredItems ( OperationContext context, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequestCollection itemsToCreate, MonitoredItemCreateResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionId uint
timestampsToReturn TimestampsToReturn
itemsToCreate MonitoredItemCreateRequestCollection
results MonitoredItemCreateResultCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

CreateSubscription() защищенный Метод

Creates a new instance of a subscription.
protected CreateSubscription ( OperationContext context, uint subscriptionId, double publishingInterval, uint lifetimeCount, uint keepAliveCount, uint maxNotificationsPerPublish, byte priority, bool publishingEnabled ) : Subscription
context OperationContext
subscriptionId uint
publishingInterval double
lifetimeCount uint
keepAliveCount uint
maxNotificationsPerPublish uint
priority byte
publishingEnabled bool
Результат Subscription

CreateSubscription() публичный Метод

Creates a new subscription.
public CreateSubscription ( OperationContext context, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, bool publishingEnabled, byte priority, uint &subscriptionId, double &revisedPublishingInterval, uint &revisedLifetimeCount, uint &revisedMaxKeepAliveCount ) : void
context OperationContext
requestedPublishingInterval double
requestedLifetimeCount uint
requestedMaxKeepAliveCount uint
maxNotificationsPerPublish uint
publishingEnabled bool
priority byte
subscriptionId uint
revisedPublishingInterval double
revisedLifetimeCount uint
revisedMaxKeepAliveCount uint
Результат void

DeleteMonitoredItems() публичный Метод

Deletes the monitored items in a subscription.
public DeleteMonitoredItems ( OperationContext context, uint subscriptionId, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionId uint
monitoredItemIds UInt32Collection
results StatusCodeCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

DeleteSubscription() публичный Метод

Deletes the specified subscription.
public DeleteSubscription ( OperationContext context, uint subscriptionId ) : StatusCode
context OperationContext
subscriptionId uint
Результат StatusCode

DeleteSubscriptions() публичный Метод

Deletes group of subscriptions.
public DeleteSubscriptions ( OperationContext context, UInt32Collection subscriptionIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionIds UInt32Collection
results StatusCodeCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

Dispose() публичный Метод

Frees any unmanaged resources.
public Dispose ( ) : void
Результат void

Dispose() защищенный Метод

An overrideable version of the Dispose.
protected Dispose ( bool disposing ) : void
disposing bool
Результат void

GetNextMessage() публичный Метод

Publishes a subscription.
public GetNextMessage ( OperationContext context, SessionPublishQueue queue, AsyncPublishOperation operation, uint &subscriptionId, UInt32Collection &availableSequenceNumbers, bool &moreNotifications ) : NotificationMessage
context OperationContext
queue SessionPublishQueue
operation AsyncPublishOperation
subscriptionId uint
availableSequenceNumbers UInt32Collection
moreNotifications bool
Результат NotificationMessage

GetSubscriptions() публичный Метод

Returns all of the subscriptions known to the subscription manager.
public GetSubscriptions ( ) : IList
Результат IList

ModifyMonitoredItems() публичный Метод

Modifies monitored items in a subscription.
public ModifyMonitoredItems ( OperationContext context, uint subscriptionId, TimestampsToReturn timestampsToReturn, MonitoredItemModifyRequestCollection itemsToModify, MonitoredItemModifyResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionId uint
timestampsToReturn TimestampsToReturn
itemsToModify MonitoredItemModifyRequestCollection
results MonitoredItemModifyResultCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

ModifySubscription() публичный Метод

Modifies an existing subscription.
public ModifySubscription ( OperationContext context, uint subscriptionId, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, double &revisedPublishingInterval, uint &revisedLifetimeCount, uint &revisedMaxKeepAliveCount ) : void
context OperationContext
subscriptionId uint
requestedPublishingInterval double
requestedLifetimeCount uint
requestedMaxKeepAliveCount uint
maxNotificationsPerPublish uint
priority byte
revisedPublishingInterval double
revisedLifetimeCount uint
revisedMaxKeepAliveCount uint
Результат void

Publish() публичный Метод

Publishes a subscription.
public Publish ( OperationContext context, SubscriptionAcknowledgementCollection subscriptionAcknowledgements, AsyncPublishOperation operation, uint &subscriptionId, UInt32Collection &availableSequenceNumbers, bool &moreNotifications, StatusCodeCollection &acknowledgeResults, DiagnosticInfoCollection &acknowledgeDiagnosticInfos ) : NotificationMessage
context OperationContext
subscriptionAcknowledgements SubscriptionAcknowledgementCollection
operation AsyncPublishOperation
subscriptionId uint
availableSequenceNumbers UInt32Collection
moreNotifications bool
acknowledgeResults StatusCodeCollection
acknowledgeDiagnosticInfos DiagnosticInfoCollection
Результат NotificationMessage

RaiseSubscriptionEvent() защищенный Метод

Raises an event related to a subscription.
protected RaiseSubscriptionEvent ( Subscription subscription, bool deleted ) : void
subscription Subscription
deleted bool
Результат void

Republish() публичный Метод

Republishes a previously published notification message.
public Republish ( OperationContext context, uint subscriptionId, uint retransmitSequenceNumber ) : NotificationMessage
context OperationContext
subscriptionId uint
retransmitSequenceNumber uint
Результат NotificationMessage

SessionClosing() публичный Метод

Signals that a session is closing.
public SessionClosing ( OperationContext context, NodeId sessionId, bool deleteSubscriptions ) : void
context OperationContext
sessionId NodeId
deleteSubscriptions bool
Результат void

SetMonitoringMode() публичный Метод

Changes the monitoring mode for a set of items.
public SetMonitoringMode ( OperationContext context, uint subscriptionId, MonitoringMode monitoringMode, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionId uint
monitoringMode MonitoringMode
monitoredItemIds UInt32Collection
results StatusCodeCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

SetPublishingMode() публичный Метод

Sets the publishing mode for a set of subscriptions.
public SetPublishingMode ( OperationContext context, bool publishingEnabled, UInt32Collection subscriptionIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
publishingEnabled bool
subscriptionIds UInt32Collection
results StatusCodeCollection
diagnosticInfos DiagnosticInfoCollection
Результат void

SetTriggering() публичный Метод

Updates the triggers for the monitored item.
public SetTriggering ( OperationContext context, uint subscriptionId, uint triggeringItemId, UInt32Collection linksToAdd, UInt32Collection linksToRemove, StatusCodeCollection &addResults, DiagnosticInfoCollection &addDiagnosticInfos, StatusCodeCollection &removeResults, DiagnosticInfoCollection &removeDiagnosticInfos ) : void
context OperationContext
subscriptionId uint
triggeringItemId uint
linksToAdd UInt32Collection
linksToRemove UInt32Collection
addResults StatusCodeCollection
addDiagnosticInfos DiagnosticInfoCollection
removeResults StatusCodeCollection
removeDiagnosticInfos DiagnosticInfoCollection
Результат void

Shutdown() публичный Метод

Closes all subscriptions and rejects any new requests.
public Shutdown ( ) : void
Результат void

Startup() публичный Метод

Starts up the manager makes it ready to create subscriptions.
public Startup ( ) : void
Результат void

SubscriptionManager() публичный Метод

Initializes the manager with its configuration.
public SubscriptionManager ( IServerInternal server, ApplicationConfiguration configuration ) : System
server IServerInternal
configuration ApplicationConfiguration
Результат System

TransferSubscriptions() публичный Метод

Attaches a groups a subscriptions to a different sesssion.
public TransferSubscriptions ( OperationContext context, UInt32Collection subscriptionIds, TransferResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
subscriptionIds UInt32Collection
results TransferResultCollection
diagnosticInfos DiagnosticInfoCollection
Результат void