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
- theByteBuffer
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.
-