Ejemplo n.º 1
0
        protected ReliableMqttClient(ILogger logger, IMqttFactory factory, TConfiguration configuration, IHostApplicationLifetime applicationLifetime)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            _foreverJitter = new ForeverJitter(TimeSpan.FromSeconds(1), 10, TimeSpan.FromSeconds(60));
            _jitterBackoff = new JitterBackoff(_foreverJitter);

            Logger = logger;
            ApplicationLifetime = applicationLifetime;
            Client        = factory.CreateMqttClient();
            Options       = configuration.GetOptions();
            Configuration = configuration;

            _policy = Policy.Handle <MqttCommunicationException>()
                      .WaitAndRetryAsync(_foreverJitter);
        }
Ejemplo n.º 2
0
 public JitterBackoff(ForeverJitter foreverJitter)
 {
     _source = foreverJitter;
 }