public IServiceResponse CreateSubscription(IServiceRequest incoming)
{
CreateSubscriptionResponse response = null;
try
{
OnRequestReceived(incoming);
CreateSubscriptionRequest request = (CreateSubscriptionRequest)incoming;
uint subscriptionId = 0;
double revisedPublishingInterval = 0;
uint revisedLifetimeCount = 0;
uint revisedMaxKeepAliveCount = 0;
response = new CreateSubscriptionResponse();
response.ResponseHeader = ServerInstance.CreateSubscription(
request.RequestHeader,
request.RequestedPublishingInterval,
request.RequestedLifetimeCount,
request.RequestedMaxKeepAliveCount,
request.MaxNotificationsPerPublish,
request.PublishingEnabled,
request.Priority,
out subscriptionId,
out revisedPublishingInterval,
out revisedLifetimeCount,
out revisedMaxKeepAliveCount);
response.SubscriptionId = subscriptionId;
response.RevisedPublishingInterval = revisedPublishingInterval;
response.RevisedLifetimeCount = revisedLifetimeCount;
response.RevisedMaxKeepAliveCount = revisedMaxKeepAliveCount;
}
finally
{
OnResponseSent(response);
}
return response;
}