diff --git a/Source/MQTTnet/Server/Internal/MqttClient.cs b/Source/MQTTnet/Server/Internal/MqttClient.cs index f505b00c..463ca2ec 100644 --- a/Source/MQTTnet/Server/Internal/MqttClient.cs +++ b/Source/MQTTnet/Server/Internal/MqttClient.cs @@ -83,6 +83,7 @@ namespace MQTTnet.Server public void ResetStatistics() { ChannelAdapter.ResetStatistics(); + Statistics.ResetStatistics(); } public async Task RunAsync() diff --git a/Source/MQTTnet/Server/Internal/MqttClientStatistics.cs b/Source/MQTTnet/Server/Internal/MqttClientStatistics.cs index a0d6c077..52718cce 100644 --- a/Source/MQTTnet/Server/Internal/MqttClientStatistics.cs +++ b/Source/MQTTnet/Server/Internal/MqttClientStatistics.cs @@ -73,7 +73,13 @@ namespace MQTTnet.Server LastNonKeepAlivePacketReceivedTimestamp = LastPacketReceivedTimestamp; } } - + public void ResetStatistics(){ + Interlocked.Exchange(ref _sentApplicationMessagesCount,0); + Interlocked.Exchange(ref _receivedApplicationMessagesCount,0); + Interlocked.Exchange(ref _sentPacketsCount,0); + Interlocked.Exchange(ref _receivedPacketsCount,0); + } + public void HandleSentPacket(MqttPacket packet) { if (packet == null)