private void OnSubscribe(Messages.ChannelSubscription data)
 {
     try
     {
         Channel existing = null;
         lock (channelLocker)
         {
             if (!ChannelList.TryGetValue(data.ChannelId, out existing))
             {
                 ChannelList[data.ChannelId] = new BitfinexChannel()
                 {
                     ChannelId = data.ChannelId, Name = data.Channel, Symbol = data.Symbol
                 };;
             }
             else
             {
                 BitfinexChannel typedChannel = existing as BitfinexChannel;
                 typedChannel.Name      = data.Channel;
                 typedChannel.ChannelId = data.ChannelId;
                 typedChannel.Symbol    = data.Symbol;
             }
         }
     }
     catch (Exception e)
     {
         Log.Error(e);
         throw;
     }
 }
Beispiel #2
0
        private void OnSubscribe(BitfinexWebSocketWrapper webSocket, Messages.ChannelSubscription data)
        {
            try
            {
                lock (_locker)
                {
                    var channel = new Channel(data.Channel, _symbolMapper.GetLeanSymbol(data.Symbol));

                    _channels.AddOrUpdate(data.ChannelId, channel);
                    _onSubscribeEvent.Set();

                    webSocket.ConnectionHandler.EnableMonitoring(true);
                }
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }
Beispiel #3
0
        private void OnSubscribe(BitfinexWebSocketWrapper webSocket, Messages.ChannelSubscription data)
        {
            try
            {
                lock (_locker)
                {
                    List <BitfinexChannel> channels;
                    if (_channelsByWebSocket.TryGetValue(webSocket, out channels))
                    {
                        var channel = channels.First(x => x.Name == data.Channel && x.Symbol == data.Symbol);

                        channel.ChannelId = data.ChannelId;

                        webSocket.ConnectionHandler.EnableMonitoring(true);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error(e);
                throw;
            }
        }