diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-12-01 12:03:40 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-12-01 12:03:40 -0500 |
| commit | d7a1a87009eed638d28d070e6a47c8a5bee38c2e (patch) | |
| tree | 9b5a83bcc6e41d893bb252c2595662bfdd1cbb80 /Emby.Server.Implementations/Networking/NetworkManager.cs | |
| parent | 5ca1b96c6f9afd8b6fc5e05abd984f5b78ec5696 (diff) | |
reduce work done by system info endpoints
Diffstat (limited to 'Emby.Server.Implementations/Networking/NetworkManager.cs')
| -rw-r--r-- | Emby.Server.Implementations/Networking/NetworkManager.cs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/Emby.Server.Implementations/Networking/NetworkManager.cs b/Emby.Server.Implementations/Networking/NetworkManager.cs index 30a3ff9e8..60da8a012 100644 --- a/Emby.Server.Implementations/Networking/NetworkManager.cs +++ b/Emby.Server.Implementations/Networking/NetworkManager.cs @@ -11,15 +11,12 @@ using MediaBrowser.Model.Extensions; using MediaBrowser.Model.IO; using MediaBrowser.Model.Logging; using MediaBrowser.Model.Net; -using System.Threading; namespace Emby.Server.Implementations.Networking { public class NetworkManager : INetworkManager { protected ILogger Logger { get; private set; } - private DateTime _lastRefresh; - private int NetworkCacheMinutes = 720; public event EventHandler NetworkChanged; @@ -33,7 +30,6 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - NetworkCacheMinutes = 15; Logger.ErrorException("Error binding to NetworkAddressChanged event", ex); } @@ -43,7 +39,6 @@ namespace Emby.Server.Implementations.Networking } catch (Exception ex) { - NetworkCacheMinutes = 15; Logger.ErrorException("Error binding to NetworkChange_NetworkAvailabilityChanged event", ex); } } @@ -51,19 +46,21 @@ namespace Emby.Server.Implementations.Networking private void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) { Logger.Debug("NetworkAvailabilityChanged"); - _lastRefresh = DateTime.MinValue; OnNetworkChanged(); } private void NetworkChange_NetworkAddressChanged(object sender, EventArgs e) { Logger.Debug("NetworkAddressChanged"); - _lastRefresh = DateTime.MinValue; OnNetworkChanged(); } private void OnNetworkChanged() { + lock (_localIpAddressSyncLock) + { + _localIpAddresses = null; + } if (NetworkChanged != null) { NetworkChanged(this, EventArgs.Empty); @@ -77,20 +74,16 @@ namespace Emby.Server.Implementations.Networking { lock (_localIpAddressSyncLock) { - var forceRefresh = (DateTime.UtcNow - _lastRefresh).TotalMinutes >= NetworkCacheMinutes; - - if (_localIpAddresses == null || forceRefresh) + if (_localIpAddresses == null) { var addresses = GetLocalIpAddressesInternal().Result.Select(ToIpAddressInfo).ToList(); _localIpAddresses = addresses; - _lastRefresh = DateTime.UtcNow; return addresses; } + return _localIpAddresses; } - - return _localIpAddresses; } private async Task<List<IPAddress>> GetLocalIpAddressesInternal() |
