/// <summary>
        ///
        /// </summary>
        /// <param name="cache"></param>
        /// <param name="symbol"></param>
        /// <param name="callback"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static Task SubscribeAndStreamAsync(this ISymbolStatisticsCache cache, string symbol, Action <SymbolStatisticsCacheEventArgs> callback, CancellationToken token)
        {
            Throw.IfNull(cache, nameof(cache));

            cache.Subscribe(callback, symbol);

            return(StreamAsync(cache, token));
        }
Beispiel #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cache"></param>
        /// <param name="callback"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static Task StreamAsync(this ISymbolStatisticsCache cache, Action <SymbolStatisticsCacheEventArgs> callback, CancellationToken token)
        {
            Throw.IfNull(cache, nameof(cache));

            cache.Subscribe(callback);

            return(cache.Client.WebSocket.StreamAsync(token));
        }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public static void Subscribe <TClient>(this ISymbolStatisticsCache <TClient> cache, string symbol)
     where TClient : ISymbolStatisticsClient
 => cache.Subscribe(null, symbol);
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public static void Subscribe(this ISymbolStatisticsCache cache, string symbol)
 => cache.Subscribe(null, symbol);
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <returns></returns>
 public static void Subscribe(this ISymbolStatisticsCache cache)
 => cache.Subscribe(null);