/// <inheritdoc /> public void Listen(XenaTradingWsHandler handler) { Validator.NotNull(nameof(handler), handler); if (Interlocked.CompareExchange(ref _generalHandler, handler, null) != null) { throw new DuplicateSubscriptionException("Already subscribed on all messages"); } }
/// <inheritdoc /> public void Listen <T>(XenaTradingWsHandler <T> handler) where T : IMessage { Validator.NotNull(nameof(handler), handler); if (!_handlers.TryAdd(typeof(T), handler)) { throw new DuplicateSubscriptionException($"Already subscribed on {typeof(T).Name} events"); } }