diff options
Diffstat (limited to 'libs')
5 files changed, 9 insertions, 6 deletions
diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/src/SessionCacheClient.cs b/libs/VNLib.Plugins.Sessions.Cache.Client/src/SessionCacheClient.cs index 800ad66..b729803 100644 --- a/libs/VNLib.Plugins.Sessions.Cache.Client/src/SessionCacheClient.cs +++ b/libs/VNLib.Plugins.Sessions.Cache.Client/src/SessionCacheClient.cs @@ -66,7 +66,7 @@ namespace VNLib.Plugins.Sessions.Cache.Client } ///<inheritdoc/> - protected override void Evicted(KeyValuePair<string, T> evicted) + protected override void Evicted(ref KeyValuePair<string, T> evicted) { //add to queue, the list lock should be held during this operatio _ = ExpiredSessions.TryEnque(evicted.Value); @@ -77,8 +77,11 @@ namespace VNLib.Plugins.Sessions.Cache.Client { foreach (KeyValuePair<string, T> value in List) { - Evicted(value); + KeyValuePair<string, T> onStack = value; + + Evicted(ref onStack); } + Clear(); } diff --git a/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj b/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj index f41f9f8..8972956 100644 --- a/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj +++ b/libs/VNLib.Plugins.Sessions.Cache.Client/src/VNLib.Plugins.Sessions.Cache.Client.csproj @@ -34,7 +34,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.VisualStudio.Threading" Version="17.4.27" /> + <PackageReference Include="Microsoft.VisualStudio.Threading" Version="17.4.33" /> </ItemGroup> <ItemGroup> diff --git a/libs/VNLib.Plugins.Sessions.Memory/src/MemorySessionEntrypoint.cs b/libs/VNLib.Plugins.Sessions.Memory/src/MemorySessionEntrypoint.cs index 57c3898..6cd25ab 100644 --- a/libs/VNLib.Plugins.Sessions.Memory/src/MemorySessionEntrypoint.cs +++ b/libs/VNLib.Plugins.Sessions.Memory/src/MemorySessionEntrypoint.cs @@ -76,7 +76,7 @@ namespace VNLib.Plugins.Sessions.Memory _sessions = new(config); //Begin listening for expired records - _ = plugin.DeferTask(() => _sessions.CleanupExiredAsync(localized, plugin.UnloadToken)); + _ = plugin.ObserveTask(() => _sessions.CleanupExiredAsync(localized, plugin.UnloadToken)); //Schedule garbage collector plugin.ScheduleInterval(this, TimeSpan.FromMinutes(1)); diff --git a/libs/VNLib.Plugins.Sessions.OAuth/src/O2SessionProviderEntry.cs b/libs/VNLib.Plugins.Sessions.OAuth/src/O2SessionProviderEntry.cs index b8769d0..68a715e 100644 --- a/libs/VNLib.Plugins.Sessions.OAuth/src/O2SessionProviderEntry.cs +++ b/libs/VNLib.Plugins.Sessions.OAuth/src/O2SessionProviderEntry.cs @@ -110,7 +110,7 @@ namespace VNLib.Plugins.Sessions.OAuth plugin.ScheduleInterval(_sessions, cleanupInterval); //Wait and cleanup expired sessions - _ = plugin.DeferTask(() => _sessions.CleanupExpiredSessionsAsync(localized, plugin.UnloadToken), 1000); + _ = plugin.ObserveTask(() => _sessions.CleanupExpiredSessionsAsync(localized, plugin.UnloadToken), 1000); localized.Information("Session provider loaded"); diff --git a/libs/VNLib.Plugins.Sessions.VNCache/src/WebSessionProviderEntry.cs b/libs/VNLib.Plugins.Sessions.VNCache/src/WebSessionProviderEntry.cs index 4fb1fae..1aa92a7 100644 --- a/libs/VNLib.Plugins.Sessions.VNCache/src/WebSessionProviderEntry.cs +++ b/libs/VNLib.Plugins.Sessions.VNCache/src/WebSessionProviderEntry.cs @@ -78,7 +78,7 @@ namespace VNLib.Plugins.Sessions.VNCache _sessions = new(cacheStore, cacheLimit, maxConnections, idFactory); //Load and run cached sessions on deferred task lib - _ = plugin.DeferTask(() => _sessions.CleanupExpiredSessionsAsync(localized, plugin.UnloadToken), 1000); + _ = plugin.ObserveTask(() => _sessions.CleanupExpiredSessionsAsync(localized, plugin.UnloadToken), 1000); localized.Information("Session provider loaded"); } |