diff --git a/src/main/java/it/cavallium/dbengine/buffers/Buf.java b/src/main/java/it/cavallium/dbengine/buffers/Buf.java
deleted file mode 100644
index 2e678d2..0000000
--- a/src/main/java/it/cavallium/dbengine/buffers/Buf.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package it.cavallium.dbengine.buffers;
-
-import com.google.common.primitives.Ints;
-import com.google.common.primitives.Longs;
-import it.unimi.dsi.fastutil.bytes.ByteArrayList;
-import it.unimi.dsi.fastutil.bytes.ByteList;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.RandomAccess;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.warp.commonutils.stream.SafeByteArrayInputStream;
-import org.warp.commonutils.stream.SafeByteArrayOutputStream;
-import org.warp.commonutils.stream.SafeDataOutput;
-
-public interface Buf extends ByteList, RandomAccess {
- static Buf wrap(ByteList bytes) {
- if (bytes instanceof Buf buf) {
- return buf;
- } else if (bytes instanceof ByteArrayList byteArrayList) {
- return ByteListBuf.wrap(byteArrayList.elements(), byteArrayList.size());
- } else {
- return ByteListBuf.wrap(bytes.toByteArray());
- }
- }
- static Buf wrap(ByteList bytes, int from, int to) {
- if (bytes instanceof Buf buf) {
- return buf.subList(from, to);
- } else if (bytes instanceof ByteArrayList byteArrayList) {
- return ByteListBuf.wrap(byteArrayList.elements(), byteArrayList.size()).subList(from, to);
- } else {
- return ByteListBuf.wrap(bytes.toByteArray()).subList(from, to);
- }
- }
-
- static Buf wrap(byte[] bytes) {
- return ByteListBuf.wrap(bytes);
- }
-
- static Buf wrap(byte[] bytes, int from, int to) {
- return ByteListBuf.wrap(bytes, to).subList(from, to);
- }
-
- static Buf create(int initialCapacity) {
- return new ByteListBuf(initialCapacity);
- }
-
- static Buf copyOf(byte[] original) {
- return new ByteListBuf(original);
- }
-
- static Buf create() {
- return new ByteListBuf();
- }
-
- static Buf wrap(byte[] array, int length) {
- return ByteListBuf.wrap(array, length);
- }
-
- static Buf createZeroes(int length) {
- return ByteListBuf.wrap(new byte[length], length);
- }
-
- /**
- * Get this element as an array, converting it if needed
- */
- byte @NotNull[] asArray();
-
- /**
- * Get this element as an array, only if it's already an array, otherwise return null
- */
- byte @Nullable[] asArrayStrict();
-
- /**
- * Get this element as an array with equal or bigger size, converting it if needed
- * The returned array may be bigger than expected!
- */
- byte @Nullable[] asUnboundedArray();
-
- /**
- * Get this element as an array with equal or bigger size, only if it's already an array, otherwise return null
- * The returned array may be bigger than expected!
- */
- byte @Nullable[] asUnboundedArrayStrict();
-
- boolean isMutable();
-
- void freeze();
-
- @Override
- Buf subList(int from, int to);
-
- Buf copy();
-
- SafeByteArrayInputStream binaryInputStream();
-
- void writeTo(SafeDataOutput dataOutput);
-
- default long getLong(int i) {
- return Longs.fromBytes(getByte(i),
- getByte(i + 1),
- getByte(i + 2),
- getByte(i + 3),
- getByte(i + 4),
- getByte(i + 5),
- getByte(i + 6),
- getByte(i + 7)
- );
- }
-
- default int getInt(int i) {
- return Ints.fromBytes(getByte(i),
- getByte(i + 1),
- getByte(i + 2),
- getByte(i + 3)
- );
- }
-
- default float getFloat(int i) {
- return Float.intBitsToFloat(getInt(i));
- }
-
- default double getDouble(int i) {
- return Double.longBitsToDouble(getLong(i));
- }
-
- default boolean getBoolean(int i) {
- return getByte(i) != 0;
- }
-
- default void setBoolean(int i, boolean val) {
- set(i, val ? (byte) 1 : 0);
- }
-
- default void setByte(int i, byte val) {
- set(i, val);
- }
-
- default void setInt(int i, int val) {
- set(i, (byte) (val >> 24));
- set(i + 1, (byte) (val >> 16));
- set(i + 2, (byte) (val >> 8));
- set(i + 3, (byte) val);
- }
-
- default void setLong(int i, long val) {
- set(i, (byte) (val >> 56));
- set(i + 1, (byte) (val >> 48));
- set(i + 2, (byte) (val >> 40));
- set(i + 3, (byte) (val >> 32));
- set(i + 4, (byte) (val >> 24));
- set(i + 5, (byte) (val >> 16));
- set(i + 6, (byte) (val >> 8));
- set(i + 7, (byte) val);
- }
-
- default void setFloat(int i, float val) {
- setInt(i, Float.floatToRawIntBits(val));
- }
-
- default void setDouble(int i, double val) {
- setLong(i, Double.doubleToRawLongBits(val));
- }
-
- default SafeByteArrayOutputStream binaryOutputStream() {
- return binaryOutputStream(0, size());
- }
-
- default SafeByteArrayOutputStream binaryOutputStream(int from) {
- return binaryOutputStream(from, size());
- }
-
- SafeByteArrayOutputStream binaryOutputStream(int from, int to);
-
- boolean equals(int aStartIndex, Buf b, int bStartIndex, int length);
-
- boolean equals(int aStartIndex, byte[] b, int bStartIndex, int length);
-
- default String toString(Charset charset) {
- return new String(this.asArray(), charset);
- }
-}
diff --git a/src/main/java/it/cavallium/dbengine/buffers/BufDataInput.java b/src/main/java/it/cavallium/dbengine/buffers/BufDataInput.java
deleted file mode 100644
index 13db4ac..0000000
--- a/src/main/java/it/cavallium/dbengine/buffers/BufDataInput.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package it.cavallium.dbengine.buffers;
-
-import org.jetbrains.annotations.NotNull;
-import org.warp.commonutils.stream.SafeByteArrayInputStream;
-import org.warp.commonutils.stream.SafeDataInputStream;
-
-
-public class BufDataInput extends SafeDataInputStream {
-
- /**
- * Creates a DataInputStream that uses the specified underlying InputStream.
- *
- * @param in the specified input stream
- */
- private BufDataInput(@NotNull SafeByteArrayInputStream in) {
- super(in);
- }
-
- public static BufDataInput create(Buf byteList) {
- return new BufDataInput(byteList.binaryInputStream());
- }
-
- @Deprecated
- @Override
- public void close() {
- }
-
- @Override
- public void mark(int readlimit) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void reset() {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean markSupported() {
- return false;
- }
-}
diff --git a/src/main/java/it/cavallium/dbengine/buffers/BufDataOutput.java b/src/main/java/it/cavallium/dbengine/buffers/BufDataOutput.java
deleted file mode 100644
index 238e213..0000000
--- a/src/main/java/it/cavallium/dbengine/buffers/BufDataOutput.java
+++ /dev/null
@@ -1,235 +0,0 @@
-package it.cavallium.dbengine.buffers;
-
-import static org.warp.commonutils.stream.SafeDataOutputStream.strLen;
-import static org.warp.commonutils.stream.SafeDataOutputStream.utfLen;
-
-import it.unimi.dsi.fastutil.Arrays;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Objects;
-import org.jetbrains.annotations.NotNull;
-import org.warp.commonutils.stream.SafeByteArrayOutputStream;
-import org.warp.commonutils.stream.SafeDataOutputStream;
-
-public class BufDataOutput implements DataOutput {
-
- private final SafeByteArrayOutputStream buf;
- private final SafeDataOutputStream dOut;
- private final int limit;
-
- private BufDataOutput(SafeByteArrayOutputStream buf) {
- this.buf = buf;
- this.dOut = new SafeDataOutputStream(buf);
- limit = Integer.MAX_VALUE;
- }
-
- private BufDataOutput(SafeByteArrayOutputStream buf, int maxSize) {
- this.buf = buf;
- this.dOut = new SafeDataOutputStream(buf);
- this.limit = maxSize;
- }
-
- public static BufDataOutput createLimited(int maxSize, int hint) {
- if (hint >= 0) {
- if (maxSize < 0 || maxSize == Integer.MAX_VALUE) {
- return create(hint);
- } else {
- return new BufDataOutput(new SafeByteArrayOutputStream(Math.min(maxSize, hint)), maxSize);
- }
- } else {
- return createLimited(maxSize);
- }
- }
-
- public static BufDataOutput createLimited(int maxSize) {
- if (maxSize < 0 || maxSize == Integer.MAX_VALUE) {
- return create();
- } else {
- return new BufDataOutput(new SafeByteArrayOutputStream(maxSize), maxSize);
- }
- }
-
- public static BufDataOutput create() {
- return new BufDataOutput(new SafeByteArrayOutputStream());
- }
-
- public static BufDataOutput create(int hint) {
- if (hint >= 0) {
- return new BufDataOutput(new SafeByteArrayOutputStream(hint));
- } else {
- return create();
- }
- }
-
- public static BufDataOutput wrap(Buf buf, int from, int to) {
- Arrays.ensureFromTo(buf.size(), from, to);
- if (buf.isEmpty()) {
- return createLimited(0);
- } else {
- return new BufDataOutput(buf.binaryOutputStream(from), to - from);
- }
- }
-
- public static BufDataOutput wrap(Buf buf) {
- if (buf.isEmpty()) {
- return createLimited(0);
- } else {
- return new BufDataOutput(buf.binaryOutputStream(), buf.size());
- }
- }
-
- private IllegalStateException unreachable(IOException ex) {
- return new IllegalStateException(ex);
- }
-
- @Override
- public void write(int b) {
- checkOutOfBounds(1);
- dOut.write(b);
- }
-
- private void checkOutOfBounds(int delta) {
- if (dOut.size() + delta > limit) {
- throw new IndexOutOfBoundsException(limit);
- }
- }
-
- @Override
- public void write(byte @NotNull [] b) {
- checkOutOfBounds(b.length);
- dOut.write(b);
- }
-
- @Override
- public void write(byte @NotNull [] b, int off, int len) {
- checkOutOfBounds(Math.max(0, Math.min(b.length - off, len)));
- dOut.write(b, off, len);
- }
-
- @Override
- public void writeBoolean(boolean v) {
- checkOutOfBounds(1);
- dOut.writeBoolean(v);
- }
-
- @Override
- public void writeByte(int v) {
- checkOutOfBounds(Byte.BYTES);
- dOut.writeByte(v);
- }
-
- @Override
- public void writeShort(int v) {
- checkOutOfBounds(Short.BYTES);
- dOut.writeShort(v);
- }
-
- @Override
- public void writeChar(int v) {
- checkOutOfBounds(Character.BYTES);
- dOut.writeChar(v);
- }
-
- @Override
- public void writeInt(int v) {
- checkOutOfBounds(Integer.BYTES);
- dOut.writeInt(v);
- }
-
- @Override
- public void writeLong(long v) {
- checkOutOfBounds(Long.BYTES);
- dOut.writeLong(v);
- }
-
- @Override
- public void writeFloat(float v) {
- checkOutOfBounds(Float.BYTES);
- dOut.writeFloat(v);
- }
-
- @Override
- public void writeDouble(double v) {
- checkOutOfBounds(Double.BYTES);
- dOut.writeDouble(v);
- }
-
- public void ensureWritable(int size) {
- dOut.flush();
- buf.ensureWritable(size);
- }
-
- @Override
- public void writeBytes(@NotNull String s) {
- checkOutOfBounds(s.length() * Byte.BYTES);
- dOut.writeBytes(s);
- }
-
- // todo: check
- public void writeBytes(Buf deserialized) {
- checkOutOfBounds(deserialized.size());
- deserialized.writeTo(dOut);
- }
-
- public void writeBytes(byte[] b, int off, int len) {
- write(b, off, len);
- }
-
- @Override
- public void writeChars(@NotNull String s) {
- checkOutOfBounds(Character.BYTES * s.length());
- dOut.writeChars(s);
- }
-
- private static String tooLongMsg(String s, int bits32) {
- int slen = s.length();
- String head = s.substring(0, 8);
- String tail = s.substring(slen - 8, slen);
- // handle int overflow with max 3x expansion
- long actualLength = (long)slen + Integer.toUnsignedLong(bits32 - slen);
- return "encoded string (" + head + "..." + tail + ") too long: "
- + actualLength + " bytes";
- }
-
- @Override
- public void writeUTF(@NotNull String str) {
- var strlen = strLen(str);
- var utflen = utfLen(str, strlen);
- var bytes = Short.BYTES + utflen;
- checkOutOfBounds(bytes);
- dOut.writeUTF(strlen, utflen, str);
- }
-
- public Buf asList() {
- dOut.flush();
- return Buf.wrap(this.buf.array, this.buf.length);
- }
-
- @Override
- public String toString() {
- return dOut.toString();
- }
-
- @Override
- public int hashCode() {
- return dOut.hashCode();
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
-
- BufDataOutput that = (BufDataOutput) o;
-
- return Objects.equals(dOut, that.dOut);
- }
-
- public int size() {
- return dOut.size();
- }
-}
diff --git a/src/main/java/it/cavallium/dbengine/buffers/ByteListBuf.java b/src/main/java/it/cavallium/dbengine/buffers/ByteListBuf.java
deleted file mode 100644
index 3afbb85..0000000
--- a/src/main/java/it/cavallium/dbengine/buffers/ByteListBuf.java
+++ /dev/null
@@ -1,467 +0,0 @@
-package it.cavallium.dbengine.buffers;
-
-import it.unimi.dsi.fastutil.bytes.AbstractByteList;
-import it.unimi.dsi.fastutil.bytes.ByteArrayList;
-import it.unimi.dsi.fastutil.bytes.ByteCollection;
-import it.unimi.dsi.fastutil.bytes.ByteConsumer;
-import it.unimi.dsi.fastutil.bytes.ByteIterator;
-import it.unimi.dsi.fastutil.bytes.ByteIterators;
-import it.unimi.dsi.fastutil.bytes.ByteList;
-import it.unimi.dsi.fastutil.bytes.ByteListIterator;
-import it.unimi.dsi.fastutil.bytes.ByteSpliterator;
-import it.unimi.dsi.fastutil.bytes.ByteSpliterators;
-import java.io.Serial;
-import java.nio.charset.Charset;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.warp.commonutils.stream.SafeByteArrayInputStream;
-import org.warp.commonutils.stream.SafeByteArrayOutputStream;
-import org.warp.commonutils.stream.SafeDataOutput;
-
-class ByteListBuf extends ByteArrayList implements Buf {
-
- private boolean mutable = true;
-
- protected ByteListBuf(byte[] a, boolean wrapped) {
- super(a, wrapped);
- }
-
- public ByteListBuf(int capacity) {
- super(capacity);
- }
-
- public ByteListBuf() {
- }
-
- public ByteListBuf(Collection extends Byte> c) {
- super(c);
- }
-
- public ByteListBuf(ByteCollection c) {
- super(c);
- }
-
- public ByteListBuf(ByteList l) {
- super(l);
- }
-
- public ByteListBuf(byte[] a) {
- super(a);
- }
-
- public ByteListBuf(byte[] a, int offset, int length) {
- super(a, offset, length);
- }
-
- public ByteListBuf(Iterator extends Byte> i) {
- super(i);
- }
-
- public ByteListBuf(ByteIterator i) {
- super(i);
- }
-
- /**
- * Wraps a given array into an array list of given size.
- *
- *
- * Note it is guaranteed that the type of the array returned by {@link #elements()} will be the same
- * (see the comments in the class documentation).
- *
- * @param a an array to wrap.
- * @param length the length of the resulting array list.
- * @return a new array list of the given size, wrapping the given array.
- */
- public static ByteListBuf wrap(final byte[] a, final int length) {
- if (length > a.length) throw new IllegalArgumentException("The specified length (" + length + ") is greater than the array size (" + a.length + ")");
- final ByteListBuf l = new ByteListBuf(a, true);
- l.size = length;
- return l;
- }
-
- /**
- * Wraps a given array into an array list.
- *
- *
- * Note it is guaranteed that the type of the array returned by {@link #elements()} will be the same
- * (see the comments in the class documentation).
- *
- * @param a an array to wrap.
- * @return a new array list wrapping the given array.
- */
- public static ByteListBuf wrap(final byte[] a) {
- return wrap(a, a.length);
- }
-
- /**
- * Creates a new empty array list.
- *
- * @return a new empty array list.
- */
- public static ByteListBuf of() {
- return new ByteListBuf();
- }
-
- /**
- * Creates an array list using an array of elements.
- *
- * @param init a the array the will become the new backing array of the array list.
- * @return a new array list backed by the given array.
- * @see #wrap
- */
-
- public static ByteListBuf of(final byte... init) {
- return wrap(init);
- }
-
- @Override
- public byte @NotNull [] asArray() {
- if (this.size() == a.length) {
- return this.a;
- } else {
- return this.toByteArray();
- }
- }
-
- @Override
- public byte @Nullable [] asArrayStrict() {
- if (this.size() == a.length) {
- return a;
- } else {
- return null;
- }
- }
-
- @Override
- public byte @Nullable [] asUnboundedArray() {
- return a;
- }
-
- @Override
- public byte @Nullable [] asUnboundedArrayStrict() {
- return a;
- }
-
- @Override
- public boolean isMutable() {
- return mutable;
- }
-
- @Override
- public void freeze() {
- mutable = false;
- }
-
- @Override
- public Buf subList(int from, int to) {
- if (from == 0 && to == size()) return this;
- ensureIndex(from);
- ensureIndex(to);
- if (from > to) throw new IndexOutOfBoundsException("Start index (" + from + ") is greater than end index (" + to + ")");
- return new SubList(from, to);
- }
-
- @Override
- public Buf copy() {
- var copied = ByteListBuf.wrap(this.a.clone());
- copied.size = this.size;
- return copied;
- }
-
- @Override
- public SafeByteArrayInputStream binaryInputStream() {
- return new SafeByteArrayInputStream(this.a, 0, this.size);
- }
-
- @Override
- public void writeTo(SafeDataOutput dataOutput) {
- dataOutput.write(this.a, 0, this.size);
- }
-
- @Override
- public SafeByteArrayOutputStream binaryOutputStream(int from, int to) {
- it.unimi.dsi.fastutil.Arrays.ensureFromTo(size, from, to);
- return new SafeByteArrayOutputStream(a, from, to);
- }
-
- @Override
- public boolean equals(int aStartIndex, Buf b, int bStartIndex, int length) {
- return b.equals(bStartIndex, this.a, aStartIndex, length);
- }
-
- @Override
- public boolean equals(int aStartIndex, byte[] b, int bStartIndex, int length) {
- if (aStartIndex < 0) return false;
- if (aStartIndex + length > this.size) {
- return false;
- }
- return Arrays.equals(a, aStartIndex, aStartIndex + length, b, bStartIndex, bStartIndex + length);
- }
-
- @Override
- public String toString(Charset charset) {
- return new String(a, 0, size, charset);
- }
-
- private class SubList extends AbstractByteList.ByteRandomAccessSubList implements Buf {
- @Serial
- private static final long serialVersionUID = -3185226345314976296L;
-
- private boolean subMutable = true;
-
- protected SubList(int from, int to) {
- super(ByteListBuf.this, from, to);
- }
-
- // Most of the inherited methods should be fine, but we can override a few of them for performance.
- // Needed because we can't access the parent class' instance variables directly in a different
- // instance of SubList.
- private byte[] getParentArray() {
- return a;
- }
-
- @Override
- public @NotNull Buf subList(int from, int to) {
- it.unimi.dsi.fastutil.Arrays.ensureFromTo(a.length, from, to);
- if (from > to) throw new IllegalArgumentException("Start index (" + from + ") is greater than end index (" + to + ")");
- // Sadly we have to rewrap this, because if there is a sublist of a sublist, and the
- // subsublist adds, both sublists need to update their "to" value.
- return new SubList(from, to);
- }
-
- @Override
- public Buf copy() {
- return Buf.wrap(Arrays.copyOfRange(a, from, to));
- }
-
- @Override
- public SafeByteArrayInputStream binaryInputStream() {
- return new SafeByteArrayInputStream(a, from, size());
- }
-
- @Override
- public void writeTo(SafeDataOutput dataOutput) {
- dataOutput.write(a, from, size());
- }
-
- @Override
- public SafeByteArrayOutputStream binaryOutputStream(int from, int to) {
- it.unimi.dsi.fastutil.Arrays.ensureFromTo(size(), from, to);
- return new SafeByteArrayOutputStream(a, from + this.from, to + this.from);
- }
-
- @Override
- public boolean equals(int aStartIndex, Buf b, int bStartIndex, int length) {
- return b.equals(bStartIndex, a, aStartIndex + from, length);
- }
-
- @Override
- public boolean equals(int aStartIndex, byte[] b, int bStartIndex, int length) {
- var aFrom = from + aStartIndex;
- var aTo = from + aStartIndex + length;
- if (aFrom < from) return false;
- if (aTo > to) return false;
- return Arrays.equals(a, aFrom, aTo, b, bStartIndex, bStartIndex + length);
- }
-
- @Override
- public byte getByte(int i) {
- ensureRestrictedIndex(i);
- return a[i + from];
- }
-
- @Override
- public byte @NotNull [] asArray() {
- if (this.from == 0 && this.to == a.length) {
- return a;
- } else {
- return toByteArray();
- }
- }
-
- @Override
- public byte @Nullable [] asArrayStrict() {
- if (this.from == 0 && this.to == a.length) {
- return a;
- } else {
- return null;
- }
- }
-
- @Override
- public byte @Nullable [] asUnboundedArray() {
- if (from == 0) {
- return a;
- } else {
- return toByteArray();
- }
- }
-
- @Override
- public byte @Nullable [] asUnboundedArrayStrict() {
- if (from == 0) {
- return a;
- } else {
- return null;
- }
- }
-
- @Override
- public boolean isMutable() {
- return mutable && subMutable;
- }
-
- @Override
- public void freeze() {
- subMutable = false;
- }
-
- private final class SubListIterator extends ByteIterators.AbstractIndexBasedListIterator {
- // We are using pos == 0 to be 0 relative to SubList.from (meaning you need to do a[from + i] when
- // accessing array).
- SubListIterator(int index) {
- super(0, index);
- }
-
- @Override
- protected byte get(int i) {
- return a[from + i];
- }
-
- @Override
- protected void add(int i, byte k) {
- ByteListBuf.SubList.this.add(i, k);
- }
-
- @Override
- protected void set(int i, byte k) {
- ByteListBuf.SubList.this.set(i, k);
- }
-
- @Override
- protected void remove(int i) {
- ByteListBuf.SubList.this.removeByte(i);
- }
-
- @Override
- protected int getMaxPos() {
- return to - from;
- }
-
- @Override
- public byte nextByte() {
- if (!hasNext()) throw new NoSuchElementException();
- return a[from + (lastReturned = pos++)];
- }
-
- @Override
- public byte previousByte() {
- if (!hasPrevious()) throw new NoSuchElementException();
- return a[from + (lastReturned = --pos)];
- }
-
- @Override
- public void forEachRemaining(final ByteConsumer action) {
- final int max = to - from;
- while (pos < max) {
- action.accept(a[from + (lastReturned = pos++)]);
- }
- }
- }
-
- @Override
- public @NotNull ByteListIterator listIterator(int index) {
- return new ByteListBuf.SubList.SubListIterator(index);
- }
-
- private final class SubListSpliterator extends ByteSpliterators.LateBindingSizeIndexBasedSpliterator {
- // We are using pos == 0 to be 0 relative to real array 0
- SubListSpliterator() {
- super(from);
- }
-
- private SubListSpliterator(int pos, int maxPos) {
- super(pos, maxPos);
- }
-
- @Override
- protected int getMaxPosFromBackingStore() {
- return to;
- }
-
- @Override
- protected byte get(int i) {
- return a[i];
- }
-
- @Override
- protected ByteListBuf.SubList.SubListSpliterator makeForSplit(int pos, int maxPos) {
- return new ByteListBuf.SubList.SubListSpliterator(pos, maxPos);
- }
-
- @Override
- public boolean tryAdvance(final ByteConsumer action) {
- if (pos >= getMaxPos()) return false;
- action.accept(a[pos++]);
- return true;
- }
-
- @Override
- public void forEachRemaining(final ByteConsumer action) {
- final int max = getMaxPos();
- while (pos < max) {
- action.accept(a[pos++]);
- }
- }
- }
-
- @Override
- public ByteSpliterator spliterator() {
- return new ByteListBuf.SubList.SubListSpliterator();
- }
-
- boolean contentsEquals(byte[] otherA, int otherAFrom, int otherATo) {
- if (a == otherA && from == otherAFrom && to == otherATo) return true;
- return Arrays.equals(a, from, to, otherA, otherAFrom, otherATo);
- }
-
- @Override
- public boolean equals(Object o) {
- if (o == this) return true;
- if (o == null) return false;
- if (!(o instanceof java.util.List)) return false;
- if (o instanceof ByteListBuf other) {
- return contentsEquals(other.a, 0, other.size());
- }
- if (o instanceof SubList other) {
- return contentsEquals(other.getParentArray(), other.from, other.to);
- }
- return super.equals(o);
- }
-
- int contentsCompareTo(byte[] otherA, int otherAFrom, int otherATo) {
- if (a == otherA && from == otherAFrom && to == otherATo) return 0;
- return Arrays.compareUnsigned(a, from, to, otherA, otherAFrom, otherATo);
- }
-
- @Override
- public int compareTo(final java.util.@NotNull List extends Byte> l) {
- if (l instanceof ByteListBuf other) {
- return contentsCompareTo(other.a, 0, other.size());
- }
- if (l instanceof ByteListBuf.SubList other) {
- return contentsCompareTo(other.getParentArray(), other.from, other.to);
- }
- return super.compareTo(l);
- }
-
- @Override
- public String toString(Charset charset) {
- return new String(a, from, to, charset);
- }
- }
-}
diff --git a/src/main/java/it/cavallium/dbengine/client/BadBlock.java b/src/main/java/it/cavallium/dbengine/client/BadBlock.java
index aee9a2c..1edfdbc 100644
--- a/src/main/java/it/cavallium/dbengine/client/BadBlock.java
+++ b/src/main/java/it/cavallium/dbengine/client/BadBlock.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.client;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.rpc.current.data.Column;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/client/MappedSerializer.java b/src/main/java/it/cavallium/dbengine/client/MappedSerializer.java
index 021be3b..e41b142 100644
--- a/src/main/java/it/cavallium/dbengine/client/MappedSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/client/MappedSerializer.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.client;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.serialization.SerializationException;
import it.cavallium.dbengine.database.serialization.Serializer;
import org.jetbrains.annotations.NotNull;
diff --git a/src/main/java/it/cavallium/dbengine/client/MappedSerializerFixedLength.java b/src/main/java/it/cavallium/dbengine/client/MappedSerializerFixedLength.java
index 36fc752..d9a1fb7 100644
--- a/src/main/java/it/cavallium/dbengine/client/MappedSerializerFixedLength.java
+++ b/src/main/java/it/cavallium/dbengine/client/MappedSerializerFixedLength.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.client;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.serialization.SerializationException;
import it.cavallium.dbengine.database.serialization.SerializerFixedBinaryLength;
import org.jetbrains.annotations.NotNull;
diff --git a/src/main/java/it/cavallium/dbengine/client/query/QueryMoshi.java b/src/main/java/it/cavallium/dbengine/client/query/QueryMoshi.java
index e711b5c..daabed5 100644
--- a/src/main/java/it/cavallium/dbengine/client/query/QueryMoshi.java
+++ b/src/main/java/it/cavallium/dbengine/client/query/QueryMoshi.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.client.query;
import com.squareup.moshi.JsonAdapter;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.IntOpenHashSetJsonAdapter;
import it.cavallium.dbengine.client.query.current.CurrentVersion;
import it.cavallium.dbengine.client.query.current.IBaseType;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLDelta.java b/src/main/java/it/cavallium/dbengine/database/LLDelta.java
index f661cb6..c696048 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLDelta.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLDelta.java
@@ -2,7 +2,7 @@ package it.cavallium.dbengine.database;
import static it.cavallium.dbengine.database.LLUtils.unmodifiableBytes;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import java.util.StringJoiner;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLDictionary.java b/src/main/java/it/cavallium/dbengine/database/LLDictionary.java
index 90433e1..a196572 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLDictionary.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLDictionary.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.database.disk.BinarySerializationFunction;
import it.cavallium.dbengine.database.serialization.KVSerializationFunction;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLEntry.java b/src/main/java/it/cavallium/dbengine/database/LLEntry.java
index 469732e..61330f0 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLEntry.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLEntry.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import java.util.Objects;
import java.util.StringJoiner;
import org.apache.logging.log4j.LogManager;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLRange.java b/src/main/java/it/cavallium/dbengine/database/LLRange.java
index 0f23f4b..7d7306d 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLRange.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLRange.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import java.util.StringJoiner;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLSingleton.java b/src/main/java/it/cavallium/dbengine/database/LLSingleton.java
index 3883a5a..c642cb5 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLSingleton.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLSingleton.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.disk.BinarySerializationFunction;
import java.io.IOException;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/database/LLUtils.java b/src/main/java/it/cavallium/dbengine/database/LLUtils.java
index b53fd9c..96e74a4 100644
--- a/src/main/java/it/cavallium/dbengine/database/LLUtils.java
+++ b/src/main/java/it/cavallium/dbengine/database/LLUtils.java
@@ -4,7 +4,7 @@ import static org.apache.commons.lang3.ArrayUtils.EMPTY_BYTE_ARRAY;
import com.google.common.primitives.Ints;
import com.google.common.primitives.Longs;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.HitEntry;
import it.cavallium.dbengine.client.HitKey;
import it.cavallium.dbengine.database.serialization.SerializationFunction;
diff --git a/src/main/java/it/cavallium/dbengine/database/OptionalBuf.java b/src/main/java/it/cavallium/dbengine/database/OptionalBuf.java
index c8fca38..b08c1af 100644
--- a/src/main/java/it/cavallium/dbengine/database/OptionalBuf.java
+++ b/src/main/java/it/cavallium/dbengine/database/OptionalBuf.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import java.util.NoSuchElementException;
import java.util.Objects;
import java.util.Optional;
diff --git a/src/main/java/it/cavallium/dbengine/database/SerializedKey.java b/src/main/java/it/cavallium/dbengine/database/SerializedKey.java
index b2ed6e4..23233fc 100644
--- a/src/main/java/it/cavallium/dbengine/database/SerializedKey.java
+++ b/src/main/java/it/cavallium/dbengine/database/SerializedKey.java
@@ -1,5 +1,5 @@
package it.cavallium.dbengine.database;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
public record SerializedKey(T key, Buf serialized) {}
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseEmpty.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseEmpty.java
index cf935b9..c049baa 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseEmpty.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseEmpty.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.serialization.SerializationException;
import it.cavallium.dbengine.database.serialization.Serializer;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseInt.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseInt.java
index 54a3eae..9572c6f 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseInt.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseInt.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.LLKeyValueDatabaseStructure;
import it.cavallium.dbengine.database.LLSingleton;
import it.cavallium.dbengine.database.LLSnapshot;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseLong.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseLong.java
index a66e8fa..c78e3fc 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseLong.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseLong.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.LLKeyValueDatabaseStructure;
import it.cavallium.dbengine.database.LLSingleton;
import it.cavallium.dbengine.database.LLSnapshot;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionary.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionary.java
index fdf0b83..53f9978 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionary.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionary.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.Delta;
import it.cavallium.dbengine.database.LLDelta;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryDeep.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryDeep.java
index 6980d0b..ee2e250 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryDeep.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryDeep.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryHashed.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryHashed.java
index ef2f8c0..dd760ea 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryHashed.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapDictionaryHashed.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapSingle.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapSingle.java
index 97dbfcb..7ba2b61 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapSingle.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseMapSingle.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.Delta;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionary.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionary.java
index 0f2e4dc..995ee89 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionary.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionary.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.collections.DatabaseEmpty.Nothing;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionaryHashed.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionaryHashed.java
index 51b7745..67a3f90 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionaryHashed.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSetDictionaryHashed.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.collections.DatabaseEmpty.Nothing;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSingleton.java b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSingleton.java
index f11d342..2ce42a5 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSingleton.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/DatabaseSingleton.java
@@ -1,8 +1,8 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.Buf;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.Delta;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetter.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetter.java
index fe44243..a660c8f 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetter.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetter.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashMap.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashMap.java
index 721b615..d849032 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashMap.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashMap.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.serialization.Serializer;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashSet.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashSet.java
index f860ea2..0b9de2d 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashSet.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterHashSet.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.collections.DatabaseEmpty.Nothing;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMap.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMap.java
index 17ae587..77ccab2 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMap.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMap.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.serialization.Serializer;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMapDeep.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMapDeep.java
index e0b6894..8b45acc 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMapDeep.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterMapDeep.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.serialization.SerializerFixedBinaryLength;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSet.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSet.java
index 4b4b315..69d8b32 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSet.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSet.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.collections.DatabaseEmpty.Nothing;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingle.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingle.java
index ee5079a..9fc3fc7 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingle.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingle.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.CompositeSnapshot;
import it.cavallium.dbengine.database.LLDictionary;
import it.cavallium.dbengine.database.serialization.Serializer;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingleBytes.java b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingleBytes.java
index e7122e6..27706e2 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingleBytes.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/SubStageGetterSingleBytes.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.serialization.Serializer;
public class SubStageGetterSingleBytes extends SubStageGetterSingle {
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/ValueWithHashSerializer.java b/src/main/java/it/cavallium/dbengine/database/collections/ValueWithHashSerializer.java
index 05d0373..46e4f37 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/ValueWithHashSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/ValueWithHashSerializer.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.serialization.SerializationException;
import it.cavallium.dbengine.database.serialization.Serializer;
import java.util.Map;
diff --git a/src/main/java/it/cavallium/dbengine/database/collections/ValuesSetSerializer.java b/src/main/java/it/cavallium/dbengine/database/collections/ValuesSetSerializer.java
index 2f3f28b..d1cdcb3 100644
--- a/src/main/java/it/cavallium/dbengine/database/collections/ValuesSetSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/collections/ValuesSetSerializer.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.database.collections;
-import it.cavallium.dbengine.buffers.BufDataInput;
-import it.cavallium.dbengine.buffers.BufDataOutput;
+import it.cavallium.buffer.BufDataInput;
+import it.cavallium.buffer.BufDataOutput;
import it.cavallium.dbengine.database.serialization.SerializationException;
import it.cavallium.dbengine.database.serialization.Serializer;
import it.unimi.dsi.fastutil.objects.ObjectArraySet;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java
index 9e594d1..976027e 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/AbstractRocksDBColumn.java
@@ -6,7 +6,7 @@ import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.DistributionSummary;
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.core.instrument.Timer;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.database.RepeatedElementList;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/BinarySerializationFunction.java b/src/main/java/it/cavallium/dbengine/database/disk/BinarySerializationFunction.java
index 1b67697..18adba5 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/BinarySerializationFunction.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/BinarySerializationFunction.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.serialization.SerializationFunction;
import org.jetbrains.annotations.Nullable;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java b/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
index 16349b3..1ba2b4c 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/CappedWriteBatch.java
@@ -2,7 +2,7 @@ package it.cavallium.dbengine.database.disk;
import static it.cavallium.dbengine.database.LLUtils.asArray;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import java.nio.ByteBuffer;
import org.rocksdb.ColumnFamilyHandle;
import org.rocksdb.RocksDBException;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/KeyMayExistGetter.java b/src/main/java/it/cavallium/dbengine/database/disk/KeyMayExistGetter.java
index 367183a..3896fc7 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/KeyMayExistGetter.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/KeyMayExistGetter.java
@@ -4,7 +4,7 @@ import static java.lang.Boolean.parseBoolean;
import static java.lang.System.getProperty;
import static java.util.Objects.requireNonNull;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLUtils;
import java.nio.ByteBuffer;
import org.apache.logging.log4j.LogManager;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalDictionary.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalDictionary.java
index f9a9f60..844c7e5 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalDictionary.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalDictionary.java
@@ -20,7 +20,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Streams;
import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.Timer;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.database.ColumnUtils;
import it.cavallium.dbengine.database.LLDelta;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalEntryReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalEntryReactiveRocksIterator.java
index 7a16647..50ff8d3 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalEntryReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalEntryReactiveRocksIterator.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLEntry;
import it.cavallium.dbengine.database.LLRange;
import java.util.function.Supplier;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedEntryReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedEntryReactiveRocksIterator.java
index c1978e1..bf8be85 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedEntryReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedEntryReactiveRocksIterator.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLEntry;
import it.cavallium.dbengine.database.LLRange;
import java.util.function.Supplier;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedKeyReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedKeyReactiveRocksIterator.java
index 6742d96..28fea9a 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedKeyReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedKeyReactiveRocksIterator.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import java.util.function.Supplier;
import org.rocksdb.ReadOptions;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java
index 73d6b04..a13abb8 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalGroupedReactiveRocksIterator.java
@@ -4,7 +4,7 @@ import static it.cavallium.dbengine.database.LLUtils.MARKER_ROCKSDB;
import static it.cavallium.dbengine.database.LLUtils.generateCustomReadOptions;
import static it.cavallium.dbengine.database.LLUtils.isBoundedRange;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.database.disk.rocksdb.RocksIteratorObj;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java
index e090785..920ced4 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyPrefixReactiveRocksIterator.java
@@ -7,7 +7,7 @@ import static it.cavallium.dbengine.utils.StreamUtils.streamWhileNonNull;
import com.google.common.collect.Iterators;
import com.google.common.collect.Streams;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.utils.DBException;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyReactiveRocksIterator.java
index 66ff3ae..155ef51 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalKeyReactiveRocksIterator.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import java.util.function.Supplier;
import org.rocksdb.ReadOptions;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalMigrationReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalMigrationReactiveRocksIterator.java
index 6d50a56..941ea60 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalMigrationReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalMigrationReactiveRocksIterator.java
@@ -3,7 +3,7 @@ package it.cavallium.dbengine.database.disk;
import static it.cavallium.dbengine.database.LLUtils.generateCustomReadOptions;
import static it.cavallium.dbengine.utils.StreamUtils.streamWhileNonNull;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLEntry;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java
index 312f51a..e1dc389 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalReactiveRocksIterator.java
@@ -5,7 +5,7 @@ import static it.cavallium.dbengine.database.LLUtils.generateCustomReadOptions;
import static it.cavallium.dbengine.database.LLUtils.isBoundedRange;
import static it.cavallium.dbengine.utils.StreamUtils.streamWhileNonNull;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.database.disk.rocksdb.RocksIteratorObj;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalSingleton.java b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalSingleton.java
index 4886d04..229da8e 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/LLLocalSingleton.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/LLLocalSingleton.java
@@ -3,7 +3,7 @@ package it.cavallium.dbengine.database.disk;
import static it.cavallium.dbengine.database.disk.UpdateAtomicResultMode.DELTA;
import com.google.common.util.concurrent.AbstractScheduledService.Scheduler;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLSingleton;
import it.cavallium.dbengine.database.LLSnapshot;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java
index 3469221..8f535ba 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/OptimisticRocksDBColumn.java
@@ -4,7 +4,7 @@ import static it.cavallium.dbengine.database.LLUtils.MARKER_ROCKSDB;
import io.micrometer.core.instrument.DistributionSummary;
import io.micrometer.core.instrument.MeterRegistry;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.lucene.ExponentialPageLimits;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/PessimisticRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/PessimisticRocksDBColumn.java
index 1c46c8b..54b4993 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/PessimisticRocksDBColumn.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/PessimisticRocksDBColumn.java
@@ -3,7 +3,7 @@ package it.cavallium.dbengine.database.disk;
import static it.cavallium.dbengine.database.LLUtils.MARKER_ROCKSDB;
import io.micrometer.core.instrument.MeterRegistry;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.utils.DBException;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/RocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/RocksDBColumn.java
index 4a16a51..745c59c 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/RocksDBColumn.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/RocksDBColumn.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.database.disk;
import io.micrometer.core.instrument.MeterRegistry;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLRange;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.database.disk.rocksdb.RocksIteratorObj;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/StandardRocksDBColumn.java b/src/main/java/it/cavallium/dbengine/database/disk/StandardRocksDBColumn.java
index a9f752d..8055369 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/StandardRocksDBColumn.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/StandardRocksDBColumn.java
@@ -3,7 +3,7 @@ package it.cavallium.dbengine.database.disk;
import static it.cavallium.dbengine.database.LLUtils.MARKER_ROCKSDB;
import io.micrometer.core.instrument.MeterRegistry;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.utils.DBException;
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultCurrent.java b/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultCurrent.java
index 00fca63..8b57d0d 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultCurrent.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultCurrent.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
public record UpdateAtomicResultCurrent(Buf current) implements UpdateAtomicResult {
}
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultPrevious.java b/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultPrevious.java
index fbaafa3..8ef5dd6 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultPrevious.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/UpdateAtomicResultPrevious.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.disk;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
public record UpdateAtomicResultPrevious(Buf previous) implements UpdateAtomicResult {
diff --git a/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksIteratorObj.java b/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksIteratorObj.java
index 36db90b..ec8a214 100644
--- a/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksIteratorObj.java
+++ b/src/main/java/it/cavallium/dbengine/database/disk/rocksdb/RocksIteratorObj.java
@@ -2,7 +2,7 @@ package it.cavallium.dbengine.database.disk.rocksdb;
import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.Timer;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLUtils;
import it.cavallium.dbengine.utils.SimpleResource;
import java.nio.ByteBuffer;
diff --git a/src/main/java/it/cavallium/dbengine/database/memory/BLRange.java b/src/main/java/it/cavallium/dbengine/database/memory/BLRange.java
index 6491992..00f316c 100644
--- a/src/main/java/it/cavallium/dbengine/database/memory/BLRange.java
+++ b/src/main/java/it/cavallium/dbengine/database/memory/BLRange.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.memory;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
public class BLRange {
diff --git a/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryDictionary.java b/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryDictionary.java
index 86534f3..43b6b95 100644
--- a/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryDictionary.java
+++ b/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryDictionary.java
@@ -4,7 +4,7 @@ import static it.cavallium.dbengine.utils.StreamUtils.count;
import static java.util.stream.Collectors.groupingBy;
import static java.util.stream.Collectors.mapping;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.BadBlock;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLDictionary;
diff --git a/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryKeyValueDatabase.java b/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryKeyValueDatabase.java
index bbbbd2a..75bb016 100644
--- a/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryKeyValueDatabase.java
+++ b/src/main/java/it/cavallium/dbengine/database/memory/LLMemoryKeyValueDatabase.java
@@ -1,7 +1,7 @@
package it.cavallium.dbengine.database.memory;
import io.micrometer.core.instrument.MeterRegistry;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.client.MemoryStats;
import it.cavallium.dbengine.database.ColumnProperty;
import it.cavallium.dbengine.database.LLDictionary;
diff --git a/src/main/java/it/cavallium/dbengine/database/memory/LLMemorySingleton.java b/src/main/java/it/cavallium/dbengine/database/memory/LLMemorySingleton.java
index 80ad4c7..5dd81a2 100644
--- a/src/main/java/it/cavallium/dbengine/database/memory/LLMemorySingleton.java
+++ b/src/main/java/it/cavallium/dbengine/database/memory/LLMemorySingleton.java
@@ -1,6 +1,6 @@
package it.cavallium.dbengine.database.memory;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
import it.cavallium.dbengine.database.LLDelta;
import it.cavallium.dbengine.database.LLDictionaryResultType;
import it.cavallium.dbengine.database.LLSingleton;
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/BufSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/BufSerializer.java
index 41cf82d..fa3c340 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/BufSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/BufSerializer.java
@@ -1,7 +1,9 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
-import it.cavallium.dbengine.buffers.Buf;
+import it.cavallium.buffer.Buf;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
public class BufSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull Buf bytes) throws IOException {
+ public void serialize(SafeDataOutput dataOutput, @NotNull Buf bytes) {
dataOutput.writeInt(bytes.size());
for (Byte aByte : bytes) {
dataOutput.writeByte(aByte);
@@ -18,7 +20,7 @@ public class BufSerializer implements DataSerializer {
}
@Override
- public @NotNull Buf deserialize(DataInput dataInput) throws IOException {
+ public @NotNull Buf deserialize(SafeDataInput dataInput) {
var size = dataInput.readInt();
var bal = Buf.create(size);
for (int i = 0; i < size; i++) {
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/ColumnFamilyHandleSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/ColumnFamilyHandleSerializer.java
index 1f963e8..f6e468e 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/ColumnFamilyHandleSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/ColumnFamilyHandleSerializer.java
@@ -1,6 +1,8 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,12 +12,12 @@ import org.rocksdb.ColumnFamilyHandle;
public class ColumnFamilyHandleSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull ColumnFamilyHandle columnFamilyHandle) {
+ public void serialize(SafeDataOutput dataOutput, @NotNull ColumnFamilyHandle columnFamilyHandle) {
throw new UnsupportedOperationException("Can't encode this type");
}
@Override
- public @NotNull ColumnFamilyHandle deserialize(DataInput dataInput) {
+ public @NotNull ColumnFamilyHandle deserialize(SafeDataInput dataInput) {
throw new UnsupportedOperationException("Can't encode this type");
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/CompressionSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/CompressionSerializer.java
index 53a84aa..4bf1a0b 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/CompressionSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/CompressionSerializer.java
@@ -2,6 +2,8 @@ package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
import it.cavallium.dbengine.client.Compression;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,12 +12,12 @@ import org.jetbrains.annotations.NotNull;
public class CompressionSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull Compression compression) throws IOException {
+ public void serialize(SafeDataOutput dataOutput, @NotNull Compression compression) {
dataOutput.writeInt(compression.ordinal());
}
@Override
- public @NotNull Compression deserialize(DataInput dataInput) throws IOException {
+ public @NotNull Compression deserialize(SafeDataInput dataInput) {
return Compression.values()[dataInput.readInt()];
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/DurationSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/DurationSerializer.java
index 742e357..04f5c7c 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/DurationSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/DurationSerializer.java
@@ -1,6 +1,8 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -11,7 +13,7 @@ import org.jetbrains.annotations.NotNull;
public class DurationSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull Duration duration) throws IOException {
+ public void serialize(SafeDataOutput dataOutput, @NotNull Duration duration) {
var units = duration.getUnits();
var smallestUnit = (ChronoUnit) units.get(units.size() - 1);
dataOutput.writeInt(smallestUnit.ordinal());
@@ -19,7 +21,7 @@ public class DurationSerializer implements DataSerializer {
}
@Override
- public @NotNull Duration deserialize(DataInput dataInput) throws IOException {
+ public @NotNull Duration deserialize(SafeDataInput dataInput) {
var smallestUnit = ChronoUnit.values()[dataInput.readInt()];
return Duration.of(dataInput.readLong(), smallestUnit);
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/LLSnapshotSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/LLSnapshotSerializer.java
index 841c047..9e520ee 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/LLSnapshotSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/LLSnapshotSerializer.java
@@ -2,6 +2,8 @@ package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
import it.cavallium.dbengine.database.LLSnapshot;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,12 +12,12 @@ import org.jetbrains.annotations.NotNull;
public class LLSnapshotSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull LLSnapshot llSnapshot) throws IOException {
+ public void serialize(SafeDataOutput dataOutput, @NotNull LLSnapshot llSnapshot) {
dataOutput.writeLong(llSnapshot.getSequenceNumber());
}
@Override
- public @NotNull LLSnapshot deserialize(DataInput dataInput) throws IOException {
+ public @NotNull LLSnapshot deserialize(SafeDataInput dataInput) {
return new LLSnapshot(dataInput.readLong());
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/LuceneHacksSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/LuceneHacksSerializer.java
index 3b3aef0..7f457e7 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/LuceneHacksSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/LuceneHacksSerializer.java
@@ -2,6 +2,8 @@ package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
import it.cavallium.dbengine.lucene.LuceneHacks;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,14 +12,14 @@ import org.jetbrains.annotations.NotNull;
public class LuceneHacksSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull LuceneHacks luceneHacks) {
+ public void serialize(SafeDataOutput dataOutput, @NotNull LuceneHacks luceneHacks) {
if (luceneHacks.customLocalSearcher() != null || luceneHacks.customMultiSearcher() != null) {
throw new UnsupportedOperationException("Can't encode this type");
}
}
@Override
- public @NotNull LuceneHacks deserialize(DataInput dataInput) {
+ public @NotNull LuceneHacks deserialize(SafeDataInput dataInput) {
return new LuceneHacks(null, null);
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/PathSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/PathSerializer.java
index e9c57ff..e96be5d 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/PathSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/PathSerializer.java
@@ -1,6 +1,8 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,12 +12,12 @@ import org.jetbrains.annotations.NotNull;
public class PathSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull Path path) throws IOException {
+ public void serialize(SafeDataOutput dataOutput, @NotNull Path path) {
dataOutput.writeUTF(path.toString());
}
@Override
- public @NotNull Path deserialize(DataInput dataInput) throws IOException {
+ public @NotNull Path deserialize(SafeDataInput dataInput) {
return Path.of(dataInput.readUTF());
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/RocksDBSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/RocksDBSerializer.java
index 1fa220d..3d1a23a 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/RocksDBSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/RocksDBSerializer.java
@@ -1,6 +1,8 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -10,12 +12,12 @@ import org.rocksdb.RocksDB;
public class RocksDBSerializer implements DataSerializer {
@Override
- public void serialize(DataOutput dataOutput, @NotNull RocksDB rocksDB) {
+ public void serialize(SafeDataOutput dataOutput, @NotNull RocksDB rocksDB) {
throw new UnsupportedOperationException("Can't encode this type");
}
@Override
- public @NotNull RocksDB deserialize(DataInput dataInput) {
+ public @NotNull RocksDB deserialize(SafeDataInput dataInput) {
throw new UnsupportedOperationException("Can't encode this type");
}
}
diff --git a/src/main/java/it/cavallium/dbengine/database/remote/String2ColumnFamilyHandleMapSerializer.java b/src/main/java/it/cavallium/dbengine/database/remote/String2ColumnFamilyHandleMapSerializer.java
index e53faac..ff846d2 100644
--- a/src/main/java/it/cavallium/dbengine/database/remote/String2ColumnFamilyHandleMapSerializer.java
+++ b/src/main/java/it/cavallium/dbengine/database/remote/String2ColumnFamilyHandleMapSerializer.java
@@ -1,6 +1,8 @@
package it.cavallium.dbengine.database.remote;
import it.cavallium.data.generator.DataSerializer;
+import it.cavallium.stream.SafeDataInput;
+import it.cavallium.stream.SafeDataOutput;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
@@ -11,13 +13,12 @@ import org.rocksdb.ColumnFamilyHandle;
public class String2ColumnFamilyHandleMapSerializer implements DataSerializer