Browse Source

Fix code issues

gion 5 years ago
parent
commit
e42bfc92f3

+ 3 - 3
Emby.Server.Implementations/HttpServer/WebSocketConnection.cs

@@ -223,7 +223,7 @@ namespace Emby.Server.Implementations.HttpServer
 
             if (info.MessageType.Equals("KeepAlive", StringComparison.Ordinal))
             {
-                SendKeepAliveResponse();
+                await SendKeepAliveResponse();
             }
             else
             {
@@ -231,10 +231,10 @@ namespace Emby.Server.Implementations.HttpServer
             }
         }
 
-        private void SendKeepAliveResponse()
+        private Task SendKeepAliveResponse()
         {
             LastKeepAliveDate = DateTime.UtcNow;
-            SendAsync(new WebSocketMessage<string>
+            return SendAsync(new WebSocketMessage<string>
             {
                 MessageType = "KeepAlive"
             }, CancellationToken.None);

+ 5 - 5
Emby.Server.Implementations/Session/SessionWebSocketListener.cs

@@ -87,13 +87,13 @@ namespace Emby.Server.Implementations.Session
             httpServer.WebSocketConnected += OnServerManagerWebSocketConnected;
         }
 
-        private void OnServerManagerWebSocketConnected(object sender, GenericEventArgs<IWebSocketConnection> e)
+        private async void OnServerManagerWebSocketConnected(object sender, GenericEventArgs<IWebSocketConnection> e)
         {
             var session = GetSession(e.Argument.QueryString, e.Argument.RemoteEndPoint.ToString());
             if (session != null)
             {
                 EnsureController(session, e.Argument);
-                KeepAliveWebSocket(e.Argument);
+                await KeepAliveWebSocket(e.Argument);
             }
             else
             {
@@ -149,7 +149,7 @@ namespace Emby.Server.Implementations.Session
         /// <param name="e">The event arguments.</param>
         private void OnWebSocketClosed(object sender, EventArgs e)
         {
-            var webSocket = (IWebSocketConnection) sender;
+            var webSocket = (IWebSocketConnection)sender;
             _logger.LogDebug("WebSocket {0} is closed.", webSocket);
             RemoveWebSocket(webSocket);
         }
@@ -158,7 +158,7 @@ namespace Emby.Server.Implementations.Session
         /// Adds a WebSocket to the KeepAlive watchlist.
         /// </summary>
         /// <param name="webSocket">The WebSocket to monitor.</param>
-        private void KeepAliveWebSocket(IWebSocketConnection webSocket)
+        private async Task KeepAliveWebSocket(IWebSocketConnection webSocket)
         {
             lock (_webSocketsLock)
             {
@@ -176,7 +176,7 @@ namespace Emby.Server.Implementations.Session
             // Notify WebSocket about timeout
             try
             {
-                SendForceKeepAlive(webSocket).Wait();
+                await SendForceKeepAlive(webSocket);
             }
             catch (WebSocketException exception)
             {

+ 3 - 34
Emby.Server.Implementations/SyncPlay/SyncPlayController.cs

@@ -16,7 +16,7 @@ namespace Emby.Server.Implementations.SyncPlay
     /// <remarks>
     /// Class is not thread-safe, external locking is required when accessing methods.
     /// </remarks>
-    public class SyncPlayController : ISyncPlayController, IDisposable
+    public class SyncPlayController : ISyncPlayController
     {
         /// <summary>
         /// Used to filter the sessions of a group.
@@ -65,8 +65,6 @@ namespace Emby.Server.Implementations.SyncPlay
         /// <inheritdoc />
         public bool IsGroupEmpty() => _group.IsEmpty();
 
-        private bool _disposed = false;
-
         public SyncPlayController(
             ISessionManager sessionManager,
             ISyncPlayManager syncPlayManager)
@@ -75,36 +73,6 @@ namespace Emby.Server.Implementations.SyncPlay
             _syncPlayManager = syncPlayManager;
         }
 
-        /// <inheritdoc />
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and optionally managed resources.
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (_disposed)
-            {
-                return;
-            }
-
-            _disposed = true;
-        }
-
-        // TODO: use this somewhere
-        private void CheckDisposed()
-        {
-            if (_disposed)
-            {
-                throw new ObjectDisposedException(GetType().Name);
-            }
-        }
-
         /// <summary>
         /// Converts DateTime to UTC string.
         /// </summary>
@@ -518,6 +486,7 @@ namespace Emby.Server.Implementations.SyncPlay
                 var runTimeTicks = _group.PlayingItem.RunTimeTicks ?? 0;
                 ticks = ticks > runTimeTicks ? runTimeTicks : ticks;
             }
+
             return ticks;
         }
 
@@ -541,7 +510,7 @@ namespace Emby.Server.Implementations.SyncPlay
                 PlayingItemName = _group.PlayingItem.Name,
                 PlayingItemId = _group.PlayingItem.Id.ToString(),
                 PositionTicks = _group.PositionTicks,
-                Participants = _group.Participants.Values.Select(session => session.Session.UserName).Distinct().ToList().AsReadOnly()
+                Participants = _group.Participants.Values.Select(session => session.Session.UserName).Distinct().ToList()
             };
         }
     }

+ 1 - 0
Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs

@@ -374,6 +374,7 @@ namespace Emby.Server.Implementations.SyncPlay
             {
                 throw new InvalidOperationException("Session in other group already!");
             }
+
             _sessionToGroupMap[session.Id] = group;
         }
 

+ 2 - 2
MediaBrowser.Api/SyncPlay/SyncPlayService.cs

@@ -182,7 +182,7 @@ namespace MediaBrowser.Api.SyncPlay
             }
 
             // Both null and empty strings mean that client isn't playing anything
-            if (!String.IsNullOrEmpty(request.PlayingItemId) && !Guid.TryParse(request.PlayingItemId, out playingItemId))
+            if (!string.IsNullOrEmpty(request.PlayingItemId) && !Guid.TryParse(request.PlayingItemId, out playingItemId))
             {
                 Logger.LogError("JoinGroup: {0} is not a valid format for PlayingItemId. Ignoring request.", request.PlayingItemId);
                 return;
@@ -217,7 +217,7 @@ namespace MediaBrowser.Api.SyncPlay
             var currentSession = GetSession(_sessionContext);
             var filterItemId = Guid.Empty;
 
-            if (!String.IsNullOrEmpty(request.FilterItemId) && !Guid.TryParse(request.FilterItemId, out filterItemId))
+            if (!string.IsNullOrEmpty(request.FilterItemId) && !Guid.TryParse(request.FilterItemId, out filterItemId))
             {
                 Logger.LogWarning("ListGroups: {0} is not a valid format for FilterItemId. Ignoring filter.", request.FilterItemId);
             }

+ 5 - 4
MediaBrowser.Controller/SyncPlay/GroupInfo.cs

@@ -16,12 +16,13 @@ namespace MediaBrowser.Controller.SyncPlay
         /// <summary>
         /// Default ping value used for sessions.
         /// </summary>
-        public readonly long DefaulPing = 500;
+        public long DefaulPing { get; } = 500;
+
         /// <summary>
         /// Gets or sets the group identifier.
         /// </summary>
         /// <value>The group identifier.</value>
-        public readonly Guid GroupId = Guid.NewGuid();
+        public Guid GroupId { get; } = Guid.NewGuid();
 
         /// <summary>
         /// Gets or sets the playing item.
@@ -51,7 +52,7 @@ namespace MediaBrowser.Controller.SyncPlay
         /// Gets the participants.
         /// </summary>
         /// <value>The participants, or members of the group.</value>
-        public readonly Dictionary<string, GroupMember> Participants =
+        public Dictionary<string, GroupMember> Participants { get; } =
             new Dictionary<string, GroupMember>(StringComparer.OrdinalIgnoreCase);
 
         /// <summary>
@@ -85,7 +86,6 @@ namespace MediaBrowser.Controller.SyncPlay
         /// Removes the session from the group.
         /// </summary>
         /// <param name="session">The session.</param>
-
         public void RemoveSession(SessionInfo session)
         {
             if (!ContainsSession(session.Id.ToString()))
@@ -153,6 +153,7 @@ namespace MediaBrowser.Controller.SyncPlay
                     return true;
                 }
             }
+
             return false;
         }