From b5952a590ac2c64d83fbb3306a64e583a6c302e2 Mon Sep 17 00:00:00 2001 From: Dalibor Kundrat Date: Sat, 26 Nov 2022 14:47:17 +0100 Subject: [PATCH] Extend server client `ResetStatistics()` to reset all client statistics not only channel... (#1587) Extend reset client statistic to reset all stats --- Source/MQTTnet/Server/Internal/MqttClient.cs | 1 + Source/MQTTnet/Server/Internal/MqttClientStatistics.cs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) 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)