public WoopsaClientSubscriptionChannel(WoopsaClient client, WoopsaUnboundClientObject woopsaRoot, int notificationQueueSize) { _client = client; _woopsaRoot = woopsaRoot; _woopsaSubscribeService = _woopsaRoot.GetUnboundItem( WoopsaSubscriptionServiceConst.WoopsaServiceSubscriptionName); CreateWoopsaSubscriptionServiceMethods(); _notificationQueueSize = notificationQueueSize; _subscriptions = new List <WoopsaClientSubscription>(); _registeredSubscriptions = new Dictionary <int, WoopsaClientSubscription>(); _channelLock = new object(); _subscriptionLock = new object(); _lostSubscriptions = new List <int>(); }
public WoopsaClient(string url, WoopsaContainer container, int notificationQueueSize = DefaultNotificationQueueSize) { Uri uri = new Uri(url); AuthorityUrl = uri.GetLeftPart(UriPartial.Authority); ClientProtocol = new WoopsaClientProtocol(url); _container = container; WoopsaUnboundClientObject unboundRoot = CreateUnboundRoot(""); SubscriptionChannel = new WoopsaClientSubscriptionChannel(this, unboundRoot, notificationQueueSize); _remoteMethodMultiRequest = unboundRoot.GetMethod( WoopsaMultiRequestConst.WoopsaMultiRequestMethodName, WoopsaValueType.JsonData, new WoopsaMethodArgumentInfo[] { new WoopsaMethodArgumentInfo(WoopsaMultiRequestConst.WoopsaMultiRequestArgumentName, WoopsaValueType.JsonData) }); }
public WoopsaClientSubscriptionChannel(WoopsaClient client, WoopsaUnboundClientObject woopsaRoot, int notificationQueueSize) { _client = client; _woopsaRoot = woopsaRoot; _woopsaSubscribeService = _woopsaRoot.GetUnboundItem( WoopsaSubscriptionServiceConst.WoopsaServiceSubscriptionName); CreateWoopsaSubscriptionServiceMethods(); _notificationQueueSize = notificationQueueSize; _subscriptions = new List<WoopsaClientSubscription>(); _registeredSubscriptions = new Dictionary<int, WoopsaClientSubscription>(); _channelLock = new object(); _subscriptionLock = new object(); _lostSubscriptions = new List<int>(); }