diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2024-03-18 20:55:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-18 13:55:18 -0600 |
| commit | eae031ae5acf948fbc303eb589b469953179f2ed (patch) | |
| tree | 1748a92da7286e404168e219801ae6c1a8756027 /Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs | |
| parent | 1271e60532aeea3821753d52e3b909725aa53f40 (diff) | |
refactor: use Channels as queueing mechanism for periodic websocket messages (#11092)
Diffstat (limited to 'Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs')
| -rw-r--r-- | Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs index ba228cb00..99516e938 100644 --- a/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs +++ b/Jellyfin.Api/WebSocketListeners/ActivityLogWebSocketListener.cs @@ -20,6 +20,8 @@ public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener<Activi /// </summary> private readonly IActivityManager _activityManager; + private bool _disposed; + /// <summary> /// Initializes a new instance of the <see cref="ActivityLogWebSocketListener"/> class. /// </summary> @@ -51,14 +53,15 @@ public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener<Activi } /// <inheritdoc /> - protected override void Dispose(bool dispose) + protected override async ValueTask DisposeAsyncCore() { - if (dispose) + if (!_disposed) { _activityManager.EntryCreated -= OnEntryCreated; + _disposed = true; } - base.Dispose(dispose); + await base.DisposeAsyncCore().ConfigureAwait(false); } /// <summary> @@ -75,8 +78,8 @@ public class ActivityLogWebSocketListener : BasePeriodicWebSocketListener<Activi base.Start(message); } - private async void OnEntryCreated(object? sender, GenericEventArgs<ActivityLogEntry> e) + private void OnEntryCreated(object? sender, GenericEventArgs<ActivityLogEntry> e) { - await SendData(true).ConfigureAwait(false); + SendData(true); } } |
