C# 클래스 Opc.Ua.Server.Subscription

Manages a subscription created by a client.
상속: ISubscription, IDisposable
파일 보기 프로젝트 열기: OPCFoundation/UA-.NET 1 사용 예제들

공개 메소드들

메소드 설명
Acknowledge ( OperationContext context, uint sequenceNumber ) : ServiceResult

Removes a message from the message queue.

ConditionRefresh ( ) : void

Refreshes the conditions.

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

Adds monitored items to a subscription.

Delete ( OperationContext context ) : void

Deletes the subscription.

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

Deletes the monitored items in a subscription.

Dispose ( ) : void

Frees any unmanaged resources.

GetMonitoredItems ( uint &serverHandles, uint &clientHandles ) : void

Gets the monitored items for the subscription.

ItemNotificationsAvailable ( IMonitoredItem monitoredItem ) : void

Tells the subscription that notifications are available but the item is not ready to publish.

ItemReadyToPublish ( IMonitoredItem monitoredItem ) : void

Queues an item that is ready to publish.

Modify ( OperationContext context, double publishingInterval, uint maxLifetimeCount, uint maxKeepAliveCount, uint maxNotificationsPerPublish, byte priority ) : void

Updates the publishing parameters for the subscription.

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

Modifies monitored items in a subscription.

Publish ( OperationContext context, UInt32Collection &availableSequenceNumbers, bool &moreNotifications ) : NotificationMessage

Returns all available notifications.

PublishTimeout ( ) : NotificationMessage

Publishes a timeout status message.

PublishTimerExpired ( ) : PublishingState

Checks if the subscription is ready to publish.

Republish ( OperationContext context, uint retransmitSequenceNumber ) : NotificationMessage

Returns a cached notification message.

SessionClosed ( ) : void

Tells the subscription that the owning session is being closed.

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

Changes the monitoring mode for a set of items.

SetPublishingMode ( OperationContext context, bool publishingEnabled ) : void

Enables/disables publishing for the subscription.

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

Updates the triggers for the monitored item.

Subscription ( IServerInternal server, Session session, uint subscriptionId, double publishingInterval, uint maxLifetimeCount, uint maxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, bool publishingEnabled, uint maxMessageCount ) : System

Initializes the object.

ValidateConditionRefresh ( OperationContext context ) : void

Verifies that a condition refresh operation is permitted.

보호된 메소드들

메소드 설명
Dispose ( bool disposing ) : void

An overrideable version of the Dispose.

비공개 메소드들

메소드 설명
AddItemToSamplingInterval ( double samplingInterval, MonitoringMode monitoringMode ) : void

Adds an item to the sampling interval.

ConstructMessage ( Queue events, Queue datachanges, Queue datachangeDiagnostics, int &notificationCount ) : NotificationMessage

Construct a message from the queues.

DeleteMonitoredItems ( OperationContext context, UInt32Collection monitoredItemIds, bool doNotCheckSession, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void

Deletes the monitored items in a subscription.

InnerPublish ( OperationContext context, UInt32Collection &availableSequenceNumbers, bool &moreNotifications ) : NotificationMessage

Returns all available notifications.

ModifyItemMonitoringMode ( double samplingInterval, MonitoringMode oldMode, MonitoringMode newMode ) : void

Changes the monitoring mode for an item.

ModifyItemSamplingInterval ( double oldInterval, double newInterval, MonitoringMode monitoringMode ) : void

Adds an item to the sampling interval.

OnUpdateDiagnostics ( ISystemContext context, NodeState node, object &value ) : ServiceResult

Returns a copy of the current diagnostics.

RemoveItemToSamplingInterval ( double samplingInterval, MonitoringMode monitoringMode ) : void

Removes an item from the sampling interval.

ResetKeepaliveCount ( ) : void

Resets the keepalive counter.

ResetLifetimeCount ( ) : void

Resets the lifetime count.

TraceState ( string context ) : void

Dumps the current state of the session queue.

VerifySession ( OperationContext context ) : void

Throws an exception if the session is not the owner.

메소드 상세

Acknowledge() 공개 메소드

Removes a message from the message queue.
public Acknowledge ( OperationContext context, uint sequenceNumber ) : ServiceResult
context OperationContext
sequenceNumber uint
리턴 ServiceResult

ConditionRefresh() 공개 메소드

Refreshes the conditions.
public ConditionRefresh ( ) : void
리턴 void

CreateMonitoredItems() 공개 메소드

Adds monitored items to a subscription.
public CreateMonitoredItems ( OperationContext context, TimestampsToReturn timestampsToReturn, MonitoredItemCreateRequestCollection itemsToCreate, MonitoredItemCreateResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
timestampsToReturn TimestampsToReturn
itemsToCreate MonitoredItemCreateRequestCollection
results MonitoredItemCreateResultCollection
diagnosticInfos DiagnosticInfoCollection
리턴 void

Delete() 공개 메소드

Deletes the subscription.
public Delete ( OperationContext context ) : void
context OperationContext
리턴 void

DeleteMonitoredItems() 공개 메소드

Deletes the monitored items in a subscription.
public DeleteMonitoredItems ( OperationContext context, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
monitoredItemIds 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

GetMonitoredItems() 공개 메소드

Gets the monitored items for the subscription.
public GetMonitoredItems ( uint &serverHandles, uint &clientHandles ) : void
serverHandles uint
clientHandles uint
리턴 void

ItemNotificationsAvailable() 공개 메소드

Tells the subscription that notifications are available but the item is not ready to publish.
public ItemNotificationsAvailable ( IMonitoredItem monitoredItem ) : void
monitoredItem IMonitoredItem
리턴 void

ItemReadyToPublish() 공개 메소드

Queues an item that is ready to publish.
public ItemReadyToPublish ( IMonitoredItem monitoredItem ) : void
monitoredItem IMonitoredItem
리턴 void

Modify() 공개 메소드

Updates the publishing parameters for the subscription.
public Modify ( OperationContext context, double publishingInterval, uint maxLifetimeCount, uint maxKeepAliveCount, uint maxNotificationsPerPublish, byte priority ) : void
context OperationContext
publishingInterval double
maxLifetimeCount uint
maxKeepAliveCount uint
maxNotificationsPerPublish uint
priority byte
리턴 void

ModifyMonitoredItems() 공개 메소드

Modifies monitored items in a subscription.
public ModifyMonitoredItems ( OperationContext context, TimestampsToReturn timestampsToReturn, MonitoredItemModifyRequestCollection itemsToModify, MonitoredItemModifyResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
timestampsToReturn TimestampsToReturn
itemsToModify MonitoredItemModifyRequestCollection
results MonitoredItemModifyResultCollection
diagnosticInfos DiagnosticInfoCollection
리턴 void

Publish() 공개 메소드

Returns all available notifications.
public Publish ( OperationContext context, UInt32Collection &availableSequenceNumbers, bool &moreNotifications ) : NotificationMessage
context OperationContext
availableSequenceNumbers UInt32Collection
moreNotifications bool
리턴 NotificationMessage

PublishTimeout() 공개 메소드

Publishes a timeout status message.
public PublishTimeout ( ) : NotificationMessage
리턴 NotificationMessage

PublishTimerExpired() 공개 메소드

Checks if the subscription is ready to publish.
public PublishTimerExpired ( ) : PublishingState
리턴 PublishingState

Republish() 공개 메소드

Returns a cached notification message.
public Republish ( OperationContext context, uint retransmitSequenceNumber ) : NotificationMessage
context OperationContext
retransmitSequenceNumber uint
리턴 NotificationMessage

SessionClosed() 공개 메소드

Tells the subscription that the owning session is being closed.
public SessionClosed ( ) : void
리턴 void

SetMonitoringMode() 공개 메소드

Changes the monitoring mode for a set of items.
public SetMonitoringMode ( OperationContext context, MonitoringMode monitoringMode, UInt32Collection monitoredItemIds, StatusCodeCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : void
context OperationContext
monitoringMode MonitoringMode
monitoredItemIds UInt32Collection
results StatusCodeCollection
diagnosticInfos DiagnosticInfoCollection
리턴 void

SetPublishingMode() 공개 메소드

Enables/disables publishing for the subscription.
public SetPublishingMode ( OperationContext context, bool publishingEnabled ) : void
context OperationContext
publishingEnabled bool
리턴 void

SetTriggering() 공개 메소드

Updates the triggers for the monitored item.
public SetTriggering ( OperationContext context, uint triggeringItemId, UInt32Collection linksToAdd, UInt32Collection linksToRemove, StatusCodeCollection &addResults, DiagnosticInfoCollection &addDiagnosticInfos, StatusCodeCollection &removeResults, DiagnosticInfoCollection &removeDiagnosticInfos ) : void
context OperationContext
triggeringItemId uint
linksToAdd UInt32Collection
linksToRemove UInt32Collection
addResults StatusCodeCollection
addDiagnosticInfos DiagnosticInfoCollection
removeResults StatusCodeCollection
removeDiagnosticInfos DiagnosticInfoCollection
리턴 void

Subscription() 공개 메소드

Initializes the object.
public Subscription ( IServerInternal server, Session session, uint subscriptionId, double publishingInterval, uint maxLifetimeCount, uint maxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, bool publishingEnabled, uint maxMessageCount ) : System
server IServerInternal
session Session
subscriptionId uint
publishingInterval double
maxLifetimeCount uint
maxKeepAliveCount uint
maxNotificationsPerPublish uint
priority byte
publishingEnabled bool
maxMessageCount uint
리턴 System

ValidateConditionRefresh() 공개 메소드

Verifies that a condition refresh operation is permitted.
public ValidateConditionRefresh ( OperationContext context ) : void
context OperationContext
리턴 void