diff options
| author | Patrick Barron <barronpm@gmail.com> | 2020-06-04 16:39:50 -0400 |
|---|---|---|
| committer | Patrick Barron <barronpm@gmail.com> | 2020-06-04 16:52:23 -0400 |
| commit | 06f9cde22f32c65b6b4d1713149de2de2be60000 (patch) | |
| tree | 9600bba80c72d259360079d965511e010be739a5 /MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs | |
| parent | 585fdbad396a089e11717eb6ce52e60a07e900e9 (diff) | |
| parent | 836741f2aa6d2140051a50f746602e4b8c63a231 (diff) | |
Merge branch 'master' into userdb-efcore
# Conflicts:
# Emby.Server.Implementations/EntryPoints/ServerEventNotifier.cs
# Emby.Server.Implementations/Library/UserManager.cs
# Emby.Server.Implementations/Sorting/IsFavoriteOrLikeComparer.cs
# Emby.Server.Implementations/Sorting/IsPlayedComparer.cs
# Emby.Server.Implementations/Sorting/IsUnplayedComparer.cs
# Emby.Server.Implementations/TV/TVSeriesManager.cs
# Jellyfin.Server.Implementations/Users/DefaultAuthenticationProvider.cs
Diffstat (limited to 'MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs')
| -rw-r--r-- | MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs index 1162bff13..5be656bdb 100644 --- a/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs +++ b/MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs @@ -104,7 +104,7 @@ namespace MediaBrowser.Controller.Net } } - protected void SendData(bool force) + protected async Task SendData(bool force) { Tuple<IWebSocketConnection, CancellationTokenSource, TStateType>[] tuples; @@ -128,13 +128,18 @@ namespace MediaBrowser.Controller.Net .ToArray(); } - foreach (var tuple in tuples) + IEnumerable<Task> GetTasks() { - SendData(tuple); + foreach (var tuple in tuples) + { + yield return SendData(tuple); + } } + + await Task.WhenAll(GetTasks()).ConfigureAwait(false); } - private async void SendData(Tuple<IWebSocketConnection, CancellationTokenSource, TStateType> tuple) + private async Task SendData(Tuple<IWebSocketConnection, CancellationTokenSource, TStateType> tuple) { var connection = tuple.Item1; @@ -148,11 +153,13 @@ namespace MediaBrowser.Controller.Net if (data != null) { - await connection.SendAsync(new WebSocketMessage<TReturnDataType> - { - MessageType = Name, - Data = data - }, cancellationToken).ConfigureAwait(false); + await connection.SendAsync( + new WebSocketMessage<TReturnDataType> + { + MessageType = Name, + Data = data + }, + cancellationToken).ConfigureAwait(false); state.DateLastSendUtc = DateTime.UtcNow; } |
