Opc.Ua.Server.StandardServer.ModifySubscription C# (CSharp) Method

ModifySubscription() public method

Invokes the ModifySubscription service.
public ModifySubscription ( RequestHeader requestHeader, uint subscriptionId, double requestedPublishingInterval, uint requestedLifetimeCount, uint requestedMaxKeepAliveCount, uint maxNotificationsPerPublish, byte priority, double &revisedPublishingInterval, uint &revisedLifetimeCount, uint &revisedMaxKeepAliveCount ) : ResponseHeader
requestHeader RequestHeader The request header.
subscriptionId uint The subscription id.
requestedPublishingInterval double The cyclic rate that the Subscription is being requested to return Notifications to the Client.
requestedLifetimeCount uint The client-requested lifetime count for the Subscription.
requestedMaxKeepAliveCount uint The requested max keep alive count.
maxNotificationsPerPublish uint The maximum number of notifications that the Client wishes to receive in a single Publish response.
priority byte The relative priority of the Subscription.
revisedPublishingInterval double The revised publishing interval.
revisedLifetimeCount uint The revised lifetime count.
revisedMaxKeepAliveCount uint The revised max keep alive count.
return ResponseHeader
        public override ResponseHeader ModifySubscription(
            RequestHeader requestHeader,
            uint          subscriptionId,
            double        requestedPublishingInterval,
            uint          requestedLifetimeCount,
            uint          requestedMaxKeepAliveCount,
            uint          maxNotificationsPerPublish,
            byte          priority,
            out double    revisedPublishingInterval,
            out uint      revisedLifetimeCount,
            out uint      revisedMaxKeepAliveCount)
        {
            OperationContext context = ValidateRequest(requestHeader, RequestType.ModifySubscription);
            
            try
            {
                ServerInternal.SubscriptionManager.ModifySubscription(
                    context,
                    subscriptionId,
                    requestedPublishingInterval,
                    requestedLifetimeCount,
                    requestedMaxKeepAliveCount,
                    maxNotificationsPerPublish,
                    priority,
                    out revisedPublishingInterval,
                    out revisedLifetimeCount,
                    out revisedMaxKeepAliveCount);

                return CreateResponse(requestHeader, context.StringTable);     
            }
            catch (ServiceResultException e)
            {
                lock (ServerInternal.DiagnosticsLock)
                {
                    ServerInternal.ServerDiagnostics.RejectedRequestsCount++;

                    if (IsSecurityError(e.StatusCode))
                    {
                        ServerInternal.ServerDiagnostics.SecurityRejectedRequestsCount++;
                    }
                }

                throw TranslateException(context, e);
            }  
            finally
            {
                OnRequestComplete(context);
            }         
        }