Add support for reset of connection statistics. Refactor keep alive monitor.

This commit is contained in:
Christian Kratky
2019-06-06 21:12:32 +02:00
parent 6262a16504
commit b0ad6bda70
8 changed files with 60 additions and 23 deletions
@@ -14,7 +14,7 @@ using MQTTnet.Server.Status;
namespace MQTTnet.Server
{
public class MqttClientConnection : IMqttClientSession, IDisposable
public class MqttClientConnection : IDisposable
{
private readonly MqttPacketIdentifierProvider _packetIdentifierProvider = new MqttPacketIdentifierProvider();
private readonly MqttPacketDispatcher _packetDispatcher = new MqttPacketDispatcher();
@@ -64,7 +64,7 @@ namespace MQTTnet.Server
if (logger == null) throw new ArgumentNullException(nameof(logger));
_logger = logger.CreateChildLogger(nameof(MqttClientConnection));
_keepAliveMonitor = new MqttClientKeepAliveMonitor(this, _logger);
_keepAliveMonitor = new MqttClientKeepAliveMonitor(_connectPacket.ClientId, StopAsync, _logger);
_connectedTimestamp = DateTime.UtcNow;
_lastPacketReceivedTimestamp = _connectedTimestamp;
@@ -86,6 +86,11 @@ namespace MQTTnet.Server
}
}
public void ResetStatistics()
{
_channelAdapter.ResetStatistics();
}
public void FillStatus(MqttClientStatus status)
{
status.ClientId = ClientId;