/// <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(); }
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="symbol"></param> public static IAggregateTradeClient Unsubscribe(this IAggregateTradeClient client, string symbol) => client.Unsubscribe(symbol, null);
/// <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) { }