Package io.flutter.plugin.common
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
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TdecodeMessage(ByteBuffer message)Decodes the specified message from binary.ByteBufferencodeMessage(T message)Encodes the specified message into binary.
-
-
-
Method Detail
-
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- theByteBuffermessage, 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.
-
-