diff --git a/pom.xml b/pom.xml index 474389d..64d4604 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ org.warp.filesponge FileSponge - 0.1.0 + 0.2.0 FileSponge diff --git a/src/main/java/org/warp/filesponge/DiskCache.java b/src/main/java/org/warp/filesponge/DiskCache.java index 7ce1577..29f3b8c 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, IBackuppable, SafeCloseable { +public interface DiskCache extends URLsDiskHandler, URLsWriter, SafeCloseable { void writeMetadataSync(URL url, Metadata metadata); @@ -58,10 +58,9 @@ public interface DiskCache extends URLsDiskHandler, URLsWriter, IBackuppable, Sa return new DiskCacheImpl(db, dict1, dict2, shouldCache); } - static DiskCache openCustom(LLKeyValueDatabase db, - LLDictionary fileContent, + static DiskCache openCustom(LLDictionary fileContent, LLDictionary fileMetadata, Predicate shouldCache) { - return new DiskCacheImpl(db, fileContent, fileMetadata, shouldCache); + return new DiskCacheImpl(null, fileContent, fileMetadata, shouldCache); } } diff --git a/src/main/java/org/warp/filesponge/DiskCacheImpl.java b/src/main/java/org/warp/filesponge/DiskCacheImpl.java index 858d6b2..f5123a5 100644 --- a/src/main/java/org/warp/filesponge/DiskCacheImpl.java +++ b/src/main/java/org/warp/filesponge/DiskCacheImpl.java @@ -24,19 +24,13 @@ 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.ColumnUtils; -import it.cavallium.dbengine.database.LLDatabaseConnection; import it.cavallium.dbengine.database.LLDictionary; import it.cavallium.dbengine.database.LLDictionaryResultType; import it.cavallium.dbengine.database.LLKeyValueDatabase; -import it.cavallium.dbengine.database.UpdateMode; import it.cavallium.dbengine.database.UpdateReturnMode; import it.cavallium.dbengine.database.serialization.SerializationException; -import it.cavallium.dbengine.rpc.current.data.DatabaseOptions; import it.cavallium.dbengine.utils.StreamUtils; import it.unimi.dsi.fastutil.booleans.BooleanArrayList; -import java.util.List; import java.util.Objects; import java.util.function.Predicate; import java.util.stream.Stream; @@ -51,17 +45,17 @@ import reactor.util.function.Tuples; class DiskCacheImpl implements DiskCache { private final DiskMetadataSerializer diskMetadataSerializer; - - private final LLKeyValueDatabase db; + @Nullable + private final LLKeyValueDatabase ownedDb; private final LLDictionary fileContent; private final LLDictionary fileMetadata; private final Predicate shouldCache; - public DiskCacheImpl(LLKeyValueDatabase db, + DiskCacheImpl(@Nullable LLKeyValueDatabase ownedDb, LLDictionary fileContent, LLDictionary fileMetadata, Predicate shouldCache) { - this.db = db; + this.ownedDb = ownedDb; this.fileContent = fileContent; this.fileMetadata = fileMetadata; this.diskMetadataSerializer = new DiskMetadataSerializer(); @@ -305,21 +299,8 @@ class DiskCacheImpl implements DiskCache { @Override public void close() { - db.close(); - } - - @Override - public void pauseForBackup() { - db.pauseForBackup(); - } - - @Override - public void resumeAfterBackup() { - db.resumeAfterBackup(); - } - - @Override - public boolean isPaused() { - return db.isPaused(); + if (ownedDb != null) { + ownedDb.close(); + } } }