protected override void OnRemovingFromSubscriber(MessageListEntry <LatestPriceRequestSubscription, SubscriptionRequests> entry, LatestPriceRequestSubscription message) { lock (Lock) { var subs = entry.Subscriber; var nr = new Request(message.Pair, message.Network); var request = subs.Requests.FirstOrDefault(x => x.Equals(nr)); if (request == null) { return; } request.Dispose(); subs.Requests.Remove(request); Aggregator.SyncProviders(); } }
protected override void OnAddingToSubscriber(MessageListEntry <LatestPriceRequestSubscription, SubscriptionRequests> entry, LatestPriceRequestSubscription message) { lock (Lock) { var subs = entry.Subscriber; var nr = new Request(message.Pair, message.Network); var request = subs.Requests.FirstOrDefault(x => x.Equals(nr)); if (request != null) { return; } subs.Requests.Add(request = nr); request.Processor = new DiscoveryRequestProcessor(request, () => { request.Messenger = new RequestMessenger(request); Aggregator.SyncProviders(); }); } }
protected override void OnDisposingSubscription(MessageListEntry <LatestPriceRequestSubscription, SubscriptionRequests> entry) { // }
protected override void OnRemovingSubscriber(MessageListEntry <LatestPriceRequestSubscription, SubscriptionRequests> entry) { }
protected override void OnDisposingSubscription(MessageListEntry <PortfolioSubscribeMessage, PortfolioAggregator> entry) { var aggregator = entry.Subscriber; aggregator.Stop(); }
protected override void OnRemovingSubscriber(MessageListEntry <PortfolioSubscribeMessage, PortfolioAggregator> entry) { // }
protected override void OnAddingToSubscriber(MessageListEntry <PortfolioSubscribeMessage, PortfolioAggregator> entry, PortfolioSubscribeMessage message) { var aggregator = entry.Subscriber; aggregator.SendChangedMessage(); }