Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cache"></param>
        /// <param name="symbol"></param>
        /// <param name="limit"></param>
        /// <param name="callback"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static Task SubscribeAndStreamAsync(this ITradeCache cache, string symbol, int limit, Action <TradeCacheEventArgs> callback, CancellationToken token)
        {
            Throw.IfNull(cache, nameof(cache));

            cache.Subscribe(symbol, limit, callback);

            return(StreamAsync(cache, token));
        }
Example #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="callback"></param>
 /// <returns></returns>
 public static void Subscribe <TClient>(this ITradeCache <TClient> cache, string symbol, Action <TradeCacheEventArgs> callback)
     where TClient : ITradeClient
 => cache.Subscribe(symbol, default, callback);
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="limit"></param>
 /// <returns></returns>
 public static void Subscribe <TClient>(this ITradeCache <TClient> cache, string symbol, int limit)
     where TClient : ITradeClient
 => cache.Subscribe(symbol, limit, null);
Example #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public static void Subscribe <TClient>(this ITradeCache <TClient> cache, string symbol)
     where TClient : ITradeClient
 => cache.Subscribe(symbol, default, null);
Example #5
0
        internal static async Task DisableLiveTask()
        {
            LiveTokenSource?.Cancel();

            // Wait for live task to complete.
            if (LiveTask != null && !LiveTask.IsCompleted)
            {
                await LiveTask;
            }

            LiveTokenSource?.Dispose();

            if (TradeCache != null)
            {
                lock (ConsoleSync)
                {
                    Console.WriteLine();
                    Console.WriteLine("  ...live trades feed disabled.");
                }
            }
            TradeCache = null;

            if (OrderBookCache != null)
            {
                lock (ConsoleSync)
                {
                    Console.WriteLine();
                    Console.WriteLine("  ...live order book feed disabled.");
                }
            }
            OrderBookCache = null;

            if (CandlestickCache != null)
            {
                lock (ConsoleSync)
                {
                    Console.WriteLine();
                    Console.WriteLine("  ...live candlestick feed disabled.");
                }
            }
            CandlestickCache = null;

            if (AggregateTradeCache != null)
            {
                lock (ConsoleSync)
                {
                    Console.WriteLine();
                    Console.WriteLine("  ...live aggregate trades feed disabled.");
                }
            }
            AggregateTradeCache = null;

            if (UserDataClient != null)
            {
                lock (ConsoleSync)
                {
                    Console.WriteLine();
                    Console.WriteLine("  ...live account feed disabled.");
                }
            }
            UserDataClient = null;

            LiveTokenSource = null;
            LiveTask        = null;
        }
Example #6
0
 /// <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 ITradeCache cache, string symbol, Action <TradeCacheEventArgs> callback, CancellationToken token)
 => SubscribeAndStreamAsync(cache, symbol, default, callback, token);
Example #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="cache"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public static Task StreamAsync(this ITradeCache cache, CancellationToken token)
        {
            Throw.IfNull(cache, nameof(cache));

            return(cache.Client.WebSocket.StreamAsync(token));
        }
Example #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="limit"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public static Task SubscribeAndStreamAsync(this ITradeCache cache, string symbol, int limit, CancellationToken token)
 => SubscribeAndStreamAsync(cache, symbol, limit, null, token);
Example #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="callback"></param>
 /// <returns></returns>
 public static void Subscribe(this ITradeCache cache, string symbol, Action <TradeCacheEventArgs> callback)
 => cache.Subscribe(symbol, default, callback);
Example #10
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="limit"></param>
 /// <returns></returns>
 public static void Subscribe(this ITradeCache cache, string symbol, int limit)
 => cache.Subscribe(symbol, limit, null);
Example #11
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <returns></returns>
 public static void Subscribe(this ITradeCache cache, string symbol)
 => cache.Subscribe(symbol, default, null);
Example #12
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public static Task SubscribeAsync(this ITradeCache cache, string symbol, CancellationToken token)
 => cache.SubscribeAsync(symbol, default, null, token);
Example #13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="cache"></param>
 /// <param name="symbol"></param>
 /// <param name="token"></param>
 /// <returns></returns>
 public static Task StreamAsync(this ITradeCache cache, string symbol, CancellationToken token)
 => StreamAsync(cache, symbol, default, null, token);