/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="callback"></param> /// <param name="limit"></param> /// <param name="symbols"></param> public static IDepthClient Subscribe(this IDepthClient client, Action <DepthUpdateEventArgs> callback, int limit, params string[] symbols) { Throw.IfNull(client, nameof(client)); Throw.IfNull(symbols, nameof(symbols)); if (callback == null && !symbols.Any()) { throw new ArgumentException($"{nameof(Subscribe)}: At least one symbol is required.", nameof(symbols)); } foreach (var symbol in symbols) { client.Subscribe(symbol, limit, callback); } return(client); }
/// <summary> /// The DI constructor. /// </summary> /// <param name="client">The JSON client (required).</param> /// <param name="controller">The JSON stream controller (required).</param> /// <param name="logger">The logger (optional).</param> public DepthClientManager(IDepthClient client, IJsonStreamController controller, ILogger <DepthClientManager> logger = null) : base(client, controller, logger) { }
public DepthClientTests() { _client = new DepthClient(); }
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="symbol"></param> /// <param name="limit"></param> public static IDepthClient Unsubscribe(this IDepthClient client, string symbol, int limit) => client.Unsubscribe(symbol, limit, null);
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="symbol"></param> public static IDepthClient Unsubscribe(this IDepthClient client, string symbol) => client.Unsubscribe(symbol, default, null);
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="limit"></param> /// <param name="symbols"></param> public static IDepthClient Subscribe(this IDepthClient client, int limit, params string[] symbols) => Subscribe(client, null, limit, symbols);
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="symbol"></param> /// <param name="callback"></param> /// <returns></returns> public static IDepthClient Subscribe(this IDepthClient client, string symbol, Action <DepthUpdateEventArgs> callback) => client.Subscribe(symbol, default, callback);
/// <summary> /// /// </summary> /// <param name="client"></param> /// <param name="symbols"></param> /// <returns></returns> public static IDepthClient Unsubscribe(this IDepthClient client, params string[] symbols) => Unsubscribe(client, null, default, 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 DepthWebSocketClientManager(IDepthClient client, IWebSocketStreamController controller, ILogger <DepthWebSocketClientManager> logger = null) : base(client, controller, logger) { }