public BinanceStreamSubscription GetSubscriptionByKey(string key)
        {
            BinanceStreamSubscription streamSubscription = new BinanceStreamSubscription();

            try {
                subscriptionList.TryGetValue(key, out streamSubscription);
            } catch (Exception ex) {
                _logger.LogException(ex);
            }
            return(streamSubscription);
        }
 public void AddToSubscriptionList(string key, BinanceStreamSubscription subscription)
 {
     try {
         if (GetSubscriptionByKey(key) == null)
         {
             subscriptionList.Add(key, subscription);
         }
     } catch (Exception ex) {
         _logger.LogException(ex);
     }
 }
 public void UnsubscribeFromStream(string key, BinanceSocketClient socketClient)
 {
     try {
         BinanceStreamSubscription streamSubscription = GetSubscriptionByKey(key);
         if (streamSubscription != null)
         {
             socketClient.UnsubscribeFromStream(streamSubscription);
             subscriptionList.Remove(key);
         }
     } catch (Exception ex) {
         _logger.LogException(ex);
     }
 }
 public void UnsubscribeFromAllStreams(BinanceSocketClient socketClient)
 {
     try {
         var streamsList = subscriptionList.Keys.ToList();
         foreach (var streamKey in streamsList)
         {
             BinanceStreamSubscription streamSubscription = GetSubscriptionByKey(streamKey);
             if (streamSubscription != null)
             {
                 socketClient.UnsubscribeFromStream(streamSubscription);
                 subscriptionList.Remove(streamKey);
             }
         }
     } catch (Exception ex) {
         _logger.LogException(ex);
     }
 }
Beispiel #5
0
 /// <summary>
 /// Unsubscribes from a stream
 /// </summary>
 /// <param name="streamSubscription">The stream subscription received by subscribing</param>
 public void UnsubscribeFromStream(BinanceStreamSubscription streamSubscription)
 {
     lock (sockets)
         sockets.SingleOrDefault(s => s.StreamResult.StreamId == streamSubscription.StreamId)?.Close().Wait();
 }
 /// <summary>
 /// Unsubscribes from a stream
 /// </summary>
 /// <param name="streamSubscription">The stream subscription received by subscribing</param>
 public void UnsubscribeFromStream(BinanceStreamSubscription streamSubscription)
 {
     lock (sockets)
         sockets.SingleOrDefault(s => s.StreamResult.StreamId == streamSubscription.StreamId)?.Close().ConfigureAwait(false).GetAwaiter().GetResult();
 }