From 7d75e2f430aec2db97f56b074433857ccdc5e7c9 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sun, 20 Dec 2020 16:58:12 +0530 Subject: [PATCH] StatsManager: added ReloadStats() method. --- DnsServerCore/Dns/StatsManager.cs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/DnsServerCore/Dns/StatsManager.cs b/DnsServerCore/Dns/StatsManager.cs index e1c06776..2be46662 100644 --- a/DnsServerCore/Dns/StatsManager.cs +++ b/DnsServerCore/Dns/StatsManager.cs @@ -466,10 +466,26 @@ namespace DnsServerCore.Dns } } + private void Flush() + { + //clear in memory stats + for (int i = 0; i < _lastHourStatCountersCopy.Length; i++) + _lastHourStatCountersCopy[i] = null; + + _hourlyStatsCache.Clear(); + _dailyStatsCache.Clear(); + } + #endregion #region public + public void ReloadStats() + { + Flush(); + LoadLastHourStats(); + } + public void DeleteAllStats() { foreach (string hourlyStatsFile in Directory.GetFiles(Path.Combine(_dnsServer.ConfigFolder, "stats"), "*.stat", SearchOption.TopDirectoryOnly)) @@ -482,11 +498,7 @@ namespace DnsServerCore.Dns File.Delete(dailyStatsFile); } - for (int i = 0; i < _lastHourStatCountersCopy.Length; i++) - _lastHourStatCountersCopy[i] = null; - - _hourlyStatsCache.Clear(); - _dailyStatsCache.Clear(); + Flush(); } public void Update(DnsDatagram response, IPAddress clientIpAddress)