Package io.flutter.plugin.common
Class BinaryCodec
- java.lang.Object
-
- io.flutter.plugin.common.BinaryCodec
-
- All Implemented Interfaces:
MessageCodec<ByteBuffer>
public final class BinaryCodec extends Object implements MessageCodec<ByteBuffer>
AMessageCodec
using unencoded binary messages, represented asByteBuffer
s.This codec is guaranteed to be compatible with the corresponding BinaryCodec on the Dart side. These parts of the Flutter SDK are evolved synchronously.
On the Dart side, messages are represented using
ByteData
.
-
-
Field Summary
Fields Modifier and Type Field Description static BinaryCodec
INSTANCE
static BinaryCodec
INSTANCE_DIRECT
A BinaryCodec that returns direct ByteBuffers from `decodeMessage` for better performance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteBuffer
decodeMessage(ByteBuffer message)
Decodes the specified message from binary.ByteBuffer
encodeMessage(ByteBuffer message)
Encodes the specified message into binary.
-
-
-
Field Detail
-
INSTANCE
public static final BinaryCodec INSTANCE
-
INSTANCE_DIRECT
public static final BinaryCodec INSTANCE_DIRECT
A BinaryCodec that returns direct ByteBuffers from `decodeMessage` for better performance.- See Also:
BinaryCodec(boolean)
-
-
Method Detail
-
encodeMessage
public ByteBuffer encodeMessage(@Nullable ByteBuffer message)
Description copied from interface:MessageCodec
Encodes the specified message into binary.- Specified by:
encodeMessage
in interfaceMessageCodec<ByteBuffer>
- 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
public ByteBuffer decodeMessage(@Nullable ByteBuffer message)
Description copied from interface:MessageCodec
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.- Specified by:
decodeMessage
in interfaceMessageCodec<ByteBuffer>
- 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.
-
-