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; } }
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; } }
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; } }