2021-10-15 22:03:53 +02:00
|
|
|
package it.cavallium.dbengine.lucene;
|
|
|
|
|
2022-04-06 02:41:32 +02:00
|
|
|
import io.netty5.buffer.api.Buffer;
|
2021-10-15 22:03:53 +02:00
|
|
|
import java.util.function.Function;
|
|
|
|
|
2022-04-06 02:41:32 +02:00
|
|
|
public class ByteArrayCodec implements HugePqCodec<byte[]> {
|
2021-10-15 22:03:53 +02:00
|
|
|
|
|
|
|
@Override
|
2022-04-06 02:41:32 +02:00
|
|
|
public Buffer serialize(Function<Integer, Buffer> allocator, byte[] data) {
|
2021-10-15 22:03:53 +02:00
|
|
|
var buf = allocator.apply(data.length + Integer.BYTES);
|
|
|
|
buf.writeInt(data.length);
|
|
|
|
buf.writeBytes(data);
|
|
|
|
return buf;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
2022-04-06 02:41:32 +02:00
|
|
|
public byte[] deserialize(Buffer b) {
|
2021-10-15 22:03:53 +02:00
|
|
|
var length = b.readInt();
|
|
|
|
byte[] data = new byte[length];
|
2022-04-06 02:41:32 +02:00
|
|
|
b.readBytes(data, 0, length);
|
2021-10-15 22:03:53 +02:00
|
|
|
return data;
|
|
|
|
}
|
2022-04-06 02:41:32 +02:00
|
|
|
|
|
|
|
@Override
|
|
|
|
public byte[] clone(byte[] obj) {
|
|
|
|
return obj.clone();
|
|
|
|
}
|
2021-10-15 22:03:53 +02:00
|
|
|
}
|