Exemplo n.º 1
0
 public BasePubsubClient(TwitchPubsubConfig config) : base(config)
 {
     _config = config;
     _pubsub = new PubsubApiClient(config, Logger);
     _pubsub.LatencyUpdated  += OnLatencyInternalAsync;
     _pubsub.MessageReceived += OnMessageInternalAsync;
 }
Exemplo n.º 2
0
        public TwitchPubsubClient(TwitchPubsubConfig config)
            : base(config, CreateApiClient(config))
        {
            _stateLock    = new SemaphoreSlim(1, 1);
            _pubsubLogger = LogManager.CreateLogger("Pubsub");

            ApiClient.SentPubsubMessage += async cmd => await _pubsubLogger.DebugAsync($"Sent {cmd}").ConfigureAwait(false);

            ApiClient.ReceivedPubsubEvent += ProcessMessageAsync;

            LatencyUpdated += async(old, val) => await _pubsubLogger.InfoAsync($"Latency = {val} ms").ConfigureAwait(false);
        }
Exemplo n.º 3
0
        public PubsubApiClient(TwitchPubsubConfig config, LogManager log)
        {
            Requests = new ConcurrentDictionary <string, PubsubRequest>();
            Logger   = log;

            if (config.PubsubProvider == null)
            {
                _client = new WebSocketClient(Logger, config.PubsubHost);
            }
            else
            {
                _client = config.PubsubProvider;
            }

            _client.MessageReceived += OnMessageInternalAsync;
        }
Exemplo n.º 4
0
 public TwitchPubsubClient(TwitchPubsubConfig config) : base(config)
 {
 }
Exemplo n.º 5
0
 private static TwitchPubsubApiClient CreateApiClient(TwitchPubsubConfig config)
 => new TwitchPubsubApiClient(config.RestClientProvider, config.WebSocketProvider, config.ClientId, TwitchConfig.UserAgent, config.WebSocketHost);