示例#1
0
        /// <summary>
        /// Add subscription to socket
        /// </summary>
        /// <param name="subscriptionRequest"></param>
        public void AddSubscription(DataSubscriptionRequest subscriptionRequest)
        {
            //Check for all subscription
            if (!_subscribed.Select(x => x.GetSubscriptionName()).Contains(subscriptionRequest.GetSubscriptionName()))
            {
                _subscribed.Add(subscriptionRequest);
            }

            //Logging
            _log.Info("Subscribed to subscription " + subscriptionRequest.GetSubscriptionName());
        }
示例#2
0
 /// <summary>
 /// Add subscription to security
 /// </summary>
 /// <param name="subscriptionRequest"></param>
 public void AddSubscription(DataSubscriptionRequest subscriptionRequest)
 {
     if (!_subscriptions.Select(x => x.GetSubscriptionName()).Contains(subscriptionRequest.GetSubscriptionName()))
     {
         _subscriptions.Add(subscriptionRequest);
     }
 }
示例#3
0
        /// <summary>
        /// Remove a subscription for a data feed
        /// </summary>
        /// <param name="subscriptionRequest"></param>
        public void RemoveSubscription(DataSubscriptionRequest subscriptionRequest)
        {
            string subscriptionname = subscriptionRequest.GetSubscriptionName();

            _log.Info("Unsubscribing to subscription " + subscriptionname);
            if (_subscribed.Contains(subscriptionname))
            {
                _subscribed.Remove(subscriptionname);
                _subscriberSocket.Unsubscribe(subscriptionname);
            }
        }
示例#4
0
 /// <summary>
 /// Stop retrieving data for the requested security
 /// </summary>
 /// <param name="subscriptionRequest"></param>
 public void RemoveSubscription(DataSubscriptionRequest subscriptionRequest)
 {
     try
     {
         var ticker = GetFeedTicker(subscriptionRequest.Ticker);
         _log.Info("Unsubscribing to ticker " + ticker);
         _subscribedtickers.Remove(ticker);
         var socket = _connecteddepthsockets.FirstOrDefault(x => x.Key == ticker);
         socket.Value.Close();
         socket.Value.Dispose();
         _connecteddepthsockets.Remove(ticker);
         socket = _connectedtradesockets.FirstOrDefault(x => x.Key == ticker);
         socket.Value.Close();
         socket.Value.Dispose();
         _connectedtradesockets.Remove(ticker);
     }
     catch (Exception e)
     {
         _log.Error(e, $"Could not remove subscription {subscriptionRequest.GetSubscriptionName()} from binance feed!");
     }
 }
示例#5
0
        /// <summary>
        /// Add subscription to socket
        /// </summary>
        /// <param name="subscriptionRequest"></param>
        public void AddSubscription(DataSubscriptionRequest subscriptionRequest)
        {
            //Check for all subscription
            string subscriptionname = subscriptionRequest.GetSubscriptionName();

            if (subscriptionRequest.Ticker == FireHoseTicker)
            {
                _subscriberSocket.Subscribe("");     //Firehose
            }
            else if (!_subscribed.Contains(subscriptionname) && CanSubscribe(subscriptionRequest.Ticker))
            {
                //Add to known subscription
                _subscribed.Add(subscriptionname);

                //Add subscription
                _subscriberSocket.Subscribe(subscriptionname);
            }

            //Logging
            _log.Info("Subscribed to subscription " + subscriptionname);
        }