StandardMessageCodec class

MessageCodec using the Flutter standard binary encoding.

Supported messages are acyclic values of these forms:

Decoded values will use List<dynamic> and Map<dynamic, dynamic> irrespective of content.

On Android, messages are represented as follows:

  • null: null
  • bool: java.lang.Boolean
  • int: java.lang.Integer for values that are representable using 32-bit two's complement; java.lang.Long otherwise
  • double: java.lang.Double
  • String: java.lang.String
  • Uint8List: byte[]
  • Int32List: int[]
  • Int64List: long[]
  • Float64List: double[]
  • List: java.util.ArrayList
  • Map: java.util.HashMap

On iOS, messages are represented as follows:

  • null: nil
  • bool: NSNumber numberWithBool:
  • int: NSNumber numberWithInt: for values that are representable using 32-bit two's complement; NSNumber numberWithLong: otherwise
  • double: NSNumber numberWithDouble:
  • String: NSString
  • Uint8List, Int32List, Int64List, Float64List: FlutterStandardTypedData
  • List: NSArray
  • Map: NSDictionary

When sending a java.math.BigInteger from Java, it is converted into a String with the hexadecimal representation of the integer. (The value is tagged as being a big integer; subclasses of this class could be made to support it natively; see the discussion at writeValue.) This codec does not support sending big integers from Dart.

The codec is extensible by subclasses overriding writeValue and readValueOfType.

Implemented types

Constructors

StandardMessageCodec()
Creates a MessageCodec using the Flutter standard binary encoding.
const

Properties

hashCode int
The hash code for this object. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

decodeMessage(ByteData message) → dynamic
Decodes the specified message from binary. [...]
override
encodeMessage(dynamic message) ByteData
Encodes the specified message in binary. [...]
override
readSize(ReadBuffer buffer) int
Reads a non-negative int from buffer as written by writeSize. [...]
readValue(ReadBuffer buffer) → dynamic
Reads a value from buffer as written by writeValue. [...]
readValueOfType(int type, ReadBuffer buffer) → dynamic
Reads a value of the indicated type from buffer. [...]
writeSize(WriteBuffer buffer, int value) → void
Writes a non-negative 32-bit integer value to buffer using an expanding 1-5 byte encoding that optimizes for small values. [...]
writeValue(WriteBuffer buffer, dynamic value) → void
Writes value to buffer by first writing a type discriminator byte, then the value itself. [...]
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited