Skip to content

Commit

Permalink
fix breaking change in CheckpointStorageProvider ctor
Browse files Browse the repository at this point in the history
  • Loading branch information
Harry committed Oct 12, 2021
1 parent a13bb85 commit 4109045
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/bctklib/persistence/CheckpointStorageProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,30 @@ public partial class CheckpointStorageProvider : IDisposableStorageProvider
readonly IStorageProvider? storageProvider;
readonly IDisposable? checkpointCleanup;
readonly Lazy<IStore> defaultStore;
readonly bool disposeStorageProvider;

ImmutableDictionary<string, IStore> stores = ImmutableDictionary<string, IStore>.Empty;

public CheckpointStorageProvider(RocksDbStorageProvider? rocksDbStorageProvider, IDisposable? checkpointCleanup = null)
: this((IStorageProvider?)rocksDbStorageProvider, checkpointCleanup)
public CheckpointStorageProvider(RocksDbStorageProvider? rocksDbStorageProvider, bool disposeStorageProvider = true, IDisposable? checkpointCleanup = null)
: this((IStorageProvider?)rocksDbStorageProvider, disposeStorageProvider, checkpointCleanup)
{
}

public CheckpointStorageProvider(IStorageProvider? storageProvider, IDisposable? checkpointCleanup = null)
public CheckpointStorageProvider(IStorageProvider? storageProvider, bool disposeStorageProvider = true, IDisposable? checkpointCleanup = null)
{
this.storageProvider = storageProvider;
this.checkpointCleanup = checkpointCleanup;
this.disposeStorageProvider = disposeStorageProvider;

defaultStore = new Lazy<IStore>(() => new MemoryTrackingStore(GetStorageProviderStore(null)));
}

public void Dispose()
{
(storageProvider as IDisposable)?.Dispose();
if (disposeStorageProvider)
{
(storageProvider as IDisposable)?.Dispose();
}
checkpointCleanup?.Dispose();
}

Expand Down

0 comments on commit 4109045

Please sign in to comment.