-
Notifications
You must be signed in to change notification settings - Fork 243
Open
Description
Currently, the sync and async Java clients do not implement serialization/deserialization for userHeaders.
In iggy/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesSerializer.java:
static ByteBuf toBytes(Message message) {
var buffer = Unpooled.buffer(MessageHeader.SIZE + message.payload().length);
buffer.writeBytes(toBytes(message.header()));
buffer.writeBytes(message.payload());
return buffer;
}In iggy/foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/tcp/BytesDeserializer.java:
static Message readPolledMessage(ByteBuf response) {
var checksum = readU64AsBigInteger(response);
var id = readBytesMessageId(response);
var offset = readU64AsBigInteger(response);
var timestamp = readU64AsBigInteger(response);
var originTimestamp = readU64AsBigInteger(response);
var userHeadersLength = response.readUnsignedIntLE();
var payloadLength = response.readUnsignedIntLE();
var header =
new MessageHeader(checksum, id, offset, timestamp, originTimestamp, userHeadersLength, payloadLength);
var payload = newByteArray(payloadLength);
response.readBytes(payload);
// TODO: Add support for user headers.
return new Message(header, payload, Optional.empty());
}Similarly for the async client.
Metadata
Metadata
Assignees
Labels
No labels