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); } }
/// <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(); }