public MqttQuarantineTimer(MqttConfig config) { this.config = config; container = new Dictionary <ushort, RetryMessageData>(); timer = new Timer(config.AckTimeout.TotalMilliseconds); timer.Elapsed += Timer_Elapsed; timer.Start(); }
public MqttSession(MqttConfig config) { Config = config; KeepAliveSeconds = config.KeepAliveSeconds; pubContainer = new PublishContainer(config); qosLevels = new Dictionary <string, QualityOfServiceLevelType>(); quarantine = new MqttQuarantineTimer(config); quarantine.OnRetry += Quarantine_OnRetry; }
public PublishContainer(MqttConfig config) { exchangeLifetime = config.MaxTransmitSpan; container = new Dictionary <ushort, MqttMessage>(); timeContainer = new Dictionary <ushort, DateTime>(); }