diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session/HttpSessionController.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Session/HttpSessionController.cs | 69 |
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; - } } } } |
