Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="client"></param>
        /// <param name="callback"></param>
        /// <param name="symbols"></param>
        public static IAggregateTradeClient Unsubscribe(this IAggregateTradeClient client, Action <AggregateTradeEventArgs> callback, params string[] symbols)
        {
            Throw.IfNull(client, nameof(client));
            Throw.IfNull(symbols, nameof(symbols));

            if (callback == null && !symbols.Any())
            {
                throw new ArgumentException($"{nameof(Unsubscribe)}: At least one symbol is required.", nameof(symbols));
            }

            foreach (var symbol in symbols)
            {
                client.Unsubscribe(symbol, callback);
            }

            return(client);
        }
 public AggregateTradeClientTests()
 {
     _client = new AggregateTradeClient();
 }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="client"></param>
 /// <param name="symbol"></param>
 public static IAggregateTradeClient Unsubscribe(this IAggregateTradeClient client, string symbol)
 => client.Unsubscribe(symbol, null);
Example #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="client"></param>
 /// <param name="symbols"></param>
 /// <returns></returns>
 public static IAggregateTradeClient Unsubscribe(this IAggregateTradeClient client, params string[] symbols)
 => Unsubscribe(client, null, symbols);
 /// <summary>
 /// The DI constructor.
 /// </summary>
 /// <param name="client">The JSON client (required).</param>
 /// <param name="controller">The web socket stream controller (required).</param>
 /// <param name="logger">The logger (optional).</param>
 public AggregateTradeWebSocketClientManager(IAggregateTradeClient client, IWebSocketStreamController controller, ILogger <AggregateTradeWebSocketClientManager> logger = null)
     : base(client, controller, logger)
 {
 }