aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/HttpSessionController.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Session/HttpSessionController.cs69
1 files changed, 1 insertions, 68 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
index 9a7fb33df..b841f0216 100644
--- a/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
+++ b/MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
@@ -24,9 +24,6 @@ namespace MediaBrowser.Server.Implementations.Session
private readonly string _postUrl;
- private Timer _pingTimer;
- private DateTime _lastPingTime;
-
public HttpSessionController(IHttpClient httpClient,
IJsonSerializer json,
SessionInfo session,
@@ -37,10 +34,6 @@ namespace MediaBrowser.Server.Implementations.Session
Session = session;
_postUrl = postUrl;
_sessionManager = sessionManager;
-
- _pingTimer = new Timer(PingTimerCallback, null, Timeout.Infinite, Timeout.Infinite);
-
- ResetPingTimer();
}
public void OnActivity()
@@ -59,7 +52,7 @@ namespace MediaBrowser.Server.Implementations.Session
{
get
{
- return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 20;
+ return (DateTime.UtcNow - Session.LastActivityDate).TotalMinutes <= 10;
}
}
@@ -68,54 +61,6 @@ namespace MediaBrowser.Server.Implementations.Session
get { return true; }
}
- private async void PingTimerCallback(object state)
- {
- try
- {
- await SendMessage("Ping", CancellationToken.None).ConfigureAwait(false);
-
- _lastPingTime = DateTime.UtcNow;
- }
- catch
- {
- var lastActivityDate = new[] { _lastPingTime, Session.LastActivityDate }
- .Max();
-
- var timeSinceLastPing = DateTime.UtcNow - lastActivityDate;
-
- // We don't want to stop the session due to one single request failure
- // At the same time, we don't want the timeout to be too long because it will
- // be sitting in active sessions available for remote control, when it's not
- if (timeSinceLastPing >= TimeSpan.FromMinutes(5))
- {
- ReportSessionEnded();
- }
- }
- }
-
- private void ReportSessionEnded()
- {
- try
- {
- _sessionManager.ReportSessionEnded(Session.Id);
- }
- catch (Exception ex)
- {
- }
- }
-
- private void ResetPingTimer()
- {
- if (_pingTimer != null)
- {
- _lastPingTime = DateTime.UtcNow;
-
- var period = TimeSpan.FromSeconds(60);
-
- _pingTimer.Change(period, period);
- }
- }
-
private Task SendMessage(string name, CancellationToken cancellationToken)
{
return SendMessage(name, new Dictionary<string, string>(), cancellationToken);
@@ -133,8 +78,6 @@ namespace MediaBrowser.Server.Implementations.Session
CancellationToken = cancellationToken
}).ConfigureAwait(false);
-
- ResetPingTimer();
}
public Task SendSessionEndedNotification(SessionInfoDto sessionInfo, CancellationToken cancellationToken)
@@ -237,16 +180,6 @@ namespace MediaBrowser.Server.Implementations.Session
public void Dispose()
{
- DisposePingTimer();
- }
-
- private void DisposePingTimer()
- {
- if (_pingTimer != null)
- {
- _pingTimer.Dispose();
- _pingTimer = null;
- }
}
}
}