public interface MethodCodec
Method calls are encoded as binary messages with enough structure that the codec can extract a
method name String and an arguments Object. These data items are used to populate a MethodCall
.
All operations throw IllegalArgumentException
, if conversion fails.
Modifier and Type | Method and Description |
---|---|
Object |
decodeEnvelope(ByteBuffer envelope)
Decodes a result envelope from binary.
|
MethodCall |
decodeMethodCall(ByteBuffer methodCall)
Decodes a message call from binary.
|
ByteBuffer |
encodeErrorEnvelope(String errorCode,
String errorMessage,
Object errorDetails)
Encodes an error result into a binary envelope message.
|
ByteBuffer |
encodeErrorEnvelopeWithStacktrace(String errorCode,
String errorMessage,
Object errorDetails,
String errorStacktrace)
Encodes an error result into a binary envelope message with the native stacktrace.
|
ByteBuffer |
encodeMethodCall(MethodCall methodCall)
Encodes a message call into binary.
|
ByteBuffer |
encodeSuccessEnvelope(Object result)
Encodes a successful result into a binary envelope message.
|
ByteBuffer encodeMethodCall(MethodCall methodCall)
methodCall
- a MethodCall
.ByteBuffer
containing the encoding between position 0 and the current
position.MethodCall decodeMethodCall(ByteBuffer methodCall)
methodCall
- the binary encoding of the method call as a ByteBuffer
.MethodCall
representation of the bytes between the given buffer's current
position and its limit.ByteBuffer encodeSuccessEnvelope(Object result)
result
- The result value, possibly null.ByteBuffer
containing the encoding between position 0 and the current
position.ByteBuffer encodeErrorEnvelope(String errorCode, String errorMessage, Object errorDetails)
errorCode
- An error code String.errorMessage
- An error message String, possibly null.errorDetails
- Error details, possibly null. Consider supporting Throwable
in your
codec. This is the most common value passed to this field.ByteBuffer
containing the encoding between position 0 and the current
position.ByteBuffer encodeErrorEnvelopeWithStacktrace(String errorCode, String errorMessage, Object errorDetails, String errorStacktrace)
errorCode
- An error code String.errorMessage
- An error message String, possibly null.errorDetails
- Error details, possibly null. Consider supporting Throwable
in your
codec. This is the most common value passed to this field.errorStacktrace
- Platform stacktrace for the error. possibly null.ByteBuffer
containing the encoding between position 0 and the current
position.Object decodeEnvelope(ByteBuffer envelope)
envelope
- the binary encoding of a result envelope as a ByteBuffer
.FlutterException
- if the envelope was an error envelope.