Skip to content

Commit 5e70dc5

Browse files
committed
HybridCache no longer nullrefs if SupportData is missing.
1 parent d30afb3 commit 5e70dc5

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/Imazen.HybridCache/HybridCache.cs

+8-6
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
using Imazen.Common.Extensibility.Support;
77
using Imazen.Common.Issues;
88
using Imazen.HybridCache.MetaStore;
9+
using Microsoft.Extensions.Hosting;
910
using Microsoft.Extensions.Logging;
1011

1112
namespace Imazen.HybridCache
1213
{
13-
public class HybridCache : IBlobCache
14+
public class HybridCache : IBlobCache, IHostedService
1415
{
1516
private readonly IReLogger logger;
1617
private HashBasedPathBuilder PathBuilder { get; }
@@ -97,10 +98,8 @@ private void FillMoveFileOverwriteFunc(HybridCacheAdvancedOptions options)
9798
File.Move(from, to);
9899
#endif
99100
};
100-
options.CleanupManagerOptions.MoveFileOverwriteFunc = options.CleanupManagerOptions.MoveFileOverwriteFunc ??
101-
options.AsyncCacheOptions.MoveFileOverwriteFunc ?? moveFileOverwriteFunc;
102-
options.AsyncCacheOptions.MoveFileOverwriteFunc = options.AsyncCacheOptions.MoveFileOverwriteFunc ??
103-
options.CleanupManagerOptions.MoveFileOverwriteFunc ?? moveFileOverwriteFunc;
101+
options.CleanupManagerOptions.MoveFileOverwriteFunc ??= options.AsyncCacheOptions.MoveFileOverwriteFunc ?? moveFileOverwriteFunc;
102+
options.AsyncCacheOptions.MoveFileOverwriteFunc ??= options.CleanupManagerOptions.MoveFileOverwriteFunc ?? moveFileOverwriteFunc;
104103
}
105104

106105

@@ -118,7 +117,10 @@ public async Task StopAsync(CancellationToken cancellationToken)
118117
{
119118
logger?.LogInformation("HybridCache is shutting down...");
120119
var sw = Stopwatch.StartNew();
121-
await SupportData.AwaitBeforeShutdown();
120+
if (SupportData != null)
121+
{
122+
await SupportData.AwaitBeforeShutdown();
123+
}
122124
await Database.StopAsync(cancellationToken);
123125
sw.Stop();
124126
logger?.LogInformation("HybridCache shut down in {ShutdownTime}", sw.Elapsed);

tests/Imazen.HybridCache.Tests/HybridCacheTests.cs

-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ public async Task SmokeTest()
2424
{
2525
AsyncCacheOptions = new AsyncCacheOptions
2626
{
27-
MaxQueuedBytes = 0,
2827
UniqueName = "HybridCache"
2928
}
3029
};

0 commit comments

Comments
 (0)