From bf8d6ee38f9f232be68dde8b0102d29fa9045fc9 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Tue, 25 Jul 2023 12:24:10 +0200 Subject: [PATCH] Fix disk cache impl --- .../java/org/warp/filesponge/DiskCache.java | 2 +- .../org/warp/filesponge/DiskCacheImpl.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/warp/filesponge/DiskCache.java b/src/main/java/org/warp/filesponge/DiskCache.java index 29f3b8c..4bd734b 100644 --- a/src/main/java/org/warp/filesponge/DiskCache.java +++ b/src/main/java/org/warp/filesponge/DiskCache.java @@ -31,7 +31,7 @@ import java.util.function.Predicate; import java.util.stream.Stream; import reactor.util.function.Tuple2; -public interface DiskCache extends URLsDiskHandler, URLsWriter, SafeCloseable { +public interface DiskCache extends URLsDiskHandler, URLsWriter, SafeCloseable, IBackuppable { void writeMetadataSync(URL url, Metadata metadata); diff --git a/src/main/java/org/warp/filesponge/DiskCacheImpl.java b/src/main/java/org/warp/filesponge/DiskCacheImpl.java index f5123a5..8200159 100644 --- a/src/main/java/org/warp/filesponge/DiskCacheImpl.java +++ b/src/main/java/org/warp/filesponge/DiskCacheImpl.java @@ -24,6 +24,7 @@ import static org.warp.filesponge.FileSponge.BLOCK_SIZE; import it.cavallium.buffer.Buf; import it.cavallium.buffer.BufDataInput; import it.cavallium.buffer.BufDataOutput; +import it.cavallium.dbengine.client.IBackuppable; import it.cavallium.dbengine.database.LLDictionary; import it.cavallium.dbengine.database.LLDictionaryResultType; import it.cavallium.dbengine.database.LLKeyValueDatabase; @@ -303,4 +304,27 @@ class DiskCacheImpl implements DiskCache { ownedDb.close(); } } + + @Override + public void pauseForBackup() { + if (ownedDb != null) { + ownedDb.pauseForBackup(); + } + } + + @Override + public void resumeAfterBackup() { + if (ownedDb != null) { + ownedDb.resumeAfterBackup(); + } + } + + @Override + public boolean isPaused() { + if (ownedDb != null) { + return ownedDb.isPaused(); + } else { + return false; + } + } }