Beispiel #1
0
        public async Task Idle_sensor(consumer_queue <WaypointsType> Consumer, TimeSpan Idle_timeout)
        {
            var   Async_delay = Task.Delay(Idle_timeout);
            await Async_delay;

            try {
                if (Async_delay.Status != TaskStatus.RanToCompletion)
                {
                    throw new Exception("await Task.Delay for Idle_timeout");
                }
                if (Consumer.stopped == false)
                {
                    if (Received_flag == false)
                    {
                        Consumer.Forget_topic(amqp.routing_key);                 // Should (eventually) take itself out from dict of accumulated messages.
                        return;
                    }
                    Received_flag = false;
                    Task.Run(async() => Idle_sensor(Consumer, Idle_timeout));
                }
            } catch (Exception e) {
                lock (Consumer.queue) {
                    Consumer.AddToExceptionText(e.Message);
                }
            }
        }
Beispiel #2
0
 public void Forget_subscribed_topic(string Topic_name)
 {
     consumer.Forget_topic(Topic_name);
 }