serialize method

Uint8List serialize()

Serialize: VarInt(type) + VarInt(length) + payload

Implementation

Uint8List serialize() {
  final typeBytes = VarInt.encode(type.value);
  final lengthBytes = VarInt.encode(payload.length);
  final result = Uint8List(
    typeBytes.length + lengthBytes.length + payload.length,
  );
  result.setRange(0, typeBytes.length, typeBytes);
  result.setRange(
    typeBytes.length,
    typeBytes.length + lengthBytes.length,
    lengthBytes,
  );
  result.setRange(
      typeBytes.length + lengthBytes.length, result.length, payload);
  return result;
}