Ejemplo n.º 1
0
        public GatewayProxy(string gatewayId, IObservable <PacketEventArgs> gatewaysStream, IEndPointBinding cloudBinding, ITelemetryLogger logger)
        {
            _gatewayId    = gatewayId;
            _cloudBinding = cloudBinding;
            _logger       = logger;

            _cloudBinding.PacketReceived += OnPacketReceived;

            _gatewayStreamSubscription = gatewaysStream
                                         .Subscribe(this);

            //_cleanChannelsSubscription = Observable
            //   .Interval(TimeSpan.FromSeconds(60))
            //   .Subscribe(x => _gatewayChannels.Where(c => c.Value.LastAccessed < DateTime.UtcNow.AddSeconds(60)).Select(v => v.Key).ToList().ForEach(k => _gatewayChannels.Remove(k)));

            _cloudBinding.ListenAsync(null);
        }
 public void Start()
 {
     _gatewayBinding.ListenAsync(_endpoint);
 }