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
Modifier and TypeMethodDescriptiondecodeMessage(ByteBuffer message) Decodes the specified message from binary.encodeMessage(T message) Encodes the specified message into binary.
-
Method Details
-
encodeMessage
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
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.
-