Interface MessageCodec<T>

All Known Implementing Classes:
BinaryCodec, JSONMessageCodec, StandardMessageCodec, StringCodec

public interface MessageCodec<T>
A message encoding/decoding mechanism.

Both operations throw IllegalArgumentException, if conversion fails.

  • Method Summary

    Modifier and Type
    Method
    Description
    Decodes the specified message from binary.
    encodeMessage(T message)
    Encodes the specified message into binary.
  • Method Details

    • encodeMessage

      @Nullable ByteBuffer encodeMessage(@Nullable T message)
      Encodes the specified message into binary.
      Parameters:
      message - the T message, possibly null.
      Returns:
      a ByteBuffer containing the encoding between position 0 and the current position, or null, if message is null.
    • decodeMessage

      @Nullable T decodeMessage(@Nullable ByteBuffer message)
      Decodes the specified message from binary.

      Warning: The ByteBuffer is "direct" and it won't be valid beyond this call. Storing the ByteBuffer and using it later and will lead to a java.nio.BufferUnderflowException. If you want to retain the data you'll need to copy it.

      Parameters:
      message - the ByteBuffer message, possibly null.
      Returns:
      a T value representation of the bytes between the given buffer's current position and its limit, or null, if message is null.