slbotbm opened a new issue, #2455:
URL: https://github.com/apache/iggy/issues/2455

   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`:
 
   ```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`:
   ```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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to