aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-05-08 15:49:26 -0400
committerLuke <luke.pulverenti@gmail.com>2015-05-08 15:49:26 -0400
commitb2cbe8b4e10063bdab5781fcc1311e04834eed10 (patch)
treeea7c63e8b5204d03a01df726322ea3bfd157d773 /MediaBrowser.Common.Implementations
parent36b2c5fa15ab6fb1259f5223d67c82e841208be7 (diff)
parent58920b82adc4734c3d2f362c9d59de0dbc99bf96 (diff)
Merge pull request #1098 from MediaBrowser/dev
3.0.5607.0
Diffstat (limited to 'MediaBrowser.Common.Implementations')
-rw-r--r--MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj11
-rw-r--r--MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs43
-rw-r--r--MediaBrowser.Common.Implementations/packages.config4
3 files changed, 19 insertions, 39 deletions
diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
index d7e5886d5..e603ea373 100644
--- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
+++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj
@@ -48,9 +48,9 @@
<RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
- <Reference Include="NLog, Version=3.2.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
+ <Reference Include="NLog, Version=3.2.1.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\NLog.3.2.0.0\lib\net45\NLog.dll</HintPath>
+ <HintPath>..\packages\NLog.3.2.1\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.10.2.0, Culture=neutral, PublicKeyToken=beaf6f427e128133, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@@ -58,11 +58,8 @@
</Reference>
<Reference Include="SimpleInjector, Version=2.7.0.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\SimpleInjector.2.7.0\lib\net45\SimpleInjector.dll</HintPath>
- </Reference>
- <Reference Include="SimpleInjector.Diagnostics, Version=2.7.0.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL">
- <SpecificVersion>False</SpecificVersion>
- <HintPath>..\packages\SimpleInjector.2.7.0\lib\net45\SimpleInjector.Diagnostics.dll</HintPath>
+ <HintPath>..\packages\SimpleInjector.2.8.0\lib\net45\SimpleInjector.dll</HintPath>
+ <Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
diff --git a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
index 0fd4e2787..c27dfd68d 100644
--- a/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
+++ b/MediaBrowser.Common.Implementations/Networking/BaseNetworkManager.cs
@@ -6,16 +6,29 @@ using System.Linq;
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
+using System.Threading;
namespace MediaBrowser.Common.Implementations.Networking
{
public abstract class BaseNetworkManager
{
protected ILogger Logger { get; private set; }
+ private Timer _clearCacheTimer;
protected BaseNetworkManager(ILogger logger)
{
Logger = logger;
+
+ // Can't use network change events due to a crash in Linux
+ _clearCacheTimer = new Timer(ClearCacheTimerCallback, null, TimeSpan.FromMinutes(1), TimeSpan.FromMinutes(1));
+ }
+
+ private void ClearCacheTimerCallback(object state)
+ {
+ lock (_localIpAddressSyncLock)
+ {
+ _localIpAddresses = null;
+ }
}
private volatile List<string> _localIpAddresses;
@@ -36,7 +49,6 @@ namespace MediaBrowser.Common.Implementations.Networking
var addresses = GetLocalIpAddressesInternal().ToList();
_localIpAddresses = addresses;
- BindEvents();
return addresses;
}
@@ -46,35 +58,6 @@ namespace MediaBrowser.Common.Implementations.Networking
return _localIpAddresses;
}
- private void BindEvents()
- {
- NetworkChange.NetworkAddressChanged -= NetworkChange_NetworkAddressChanged;
- NetworkChange.NetworkAvailabilityChanged -= NetworkChange_NetworkAvailabilityChanged;
-
- NetworkChange.NetworkAddressChanged += NetworkChange_NetworkAddressChanged;
- NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
- }
-
- void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
- {
- Logger.Debug("NetworkAvailabilityChanged fired. Resetting cached network info.");
-
- lock (_localIpAddressSyncLock)
- {
- _localIpAddresses = null;
- }
- }
-
- void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
- {
- Logger.Debug("NetworkAddressChanged fired. Resetting cached network info.");
-
- lock (_localIpAddressSyncLock)
- {
- _localIpAddresses = null;
- }
- }
-
private IEnumerable<string> GetLocalIpAddressesInternal()
{
var list = GetIPsDefault()
diff --git a/MediaBrowser.Common.Implementations/packages.config b/MediaBrowser.Common.Implementations/packages.config
index 825b6662b..e57c874f2 100644
--- a/MediaBrowser.Common.Implementations/packages.config
+++ b/MediaBrowser.Common.Implementations/packages.config
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
- <package id="NLog" version="3.2.0.0" targetFramework="net45" />
- <package id="SimpleInjector" version="2.7.0" targetFramework="net45" />
+ <package id="NLog" version="3.2.1" targetFramework="net45" />
+ <package id="SimpleInjector" version="2.8.0" targetFramework="net45" />
</packages>