CavalliumDBEngine/src/main/java/it/cavallium/dbengine/database/disk/RocksIteratorTuple.java

25 lines
745 B
Java
Raw Normal View History

2022-01-26 19:03:51 +01:00
package it.cavallium.dbengine.database.disk;
import it.cavallium.dbengine.database.SafeCloseable;
2022-03-19 00:08:23 +01:00
import java.util.List;
2022-01-26 19:03:51 +01:00
import org.jetbrains.annotations.NotNull;
2022-03-19 00:08:23 +01:00
import org.rocksdb.AbstractImmutableNativeReference;
import org.rocksdb.ReadOptions;
2022-01-26 19:03:51 +01:00
import org.rocksdb.RocksIterator;
2022-03-19 00:08:23 +01:00
import org.rocksdb.RocksObject;
2022-01-26 19:03:51 +01:00
2022-03-19 00:08:23 +01:00
public record RocksIteratorTuple(List<RocksObject> refs, @NotNull RocksIterator iterator,
@NotNull ReleasableSlice sliceMin, @NotNull ReleasableSlice sliceMax,
@NotNull SafeCloseable seekTo) implements
2022-01-26 19:03:51 +01:00
SafeCloseable {
@Override
public void close() {
2022-03-19 00:08:23 +01:00
refs.forEach(AbstractImmutableNativeReference::close);
2022-01-26 19:03:51 +01:00
iterator.close();
sliceMin.close();
sliceMax.close();
seekTo.close();
}
}