encode method

Uint8List encode()

Codifica o pacote (cabeƧalho + payload) em um Uint8List para envio ao servidor.

Implementation

Uint8List encode() {
  final payloadData = payload.encode();

  // Prepara 4 bytes para o cabeƧalho:
  // 3 bytes para length, 1 para sequenceID.
  final header = ByteData(4);
  header.setUint8(0, payloadData.lengthInBytes & 0xFF);
  header.setUint8(1, (payloadData.lengthInBytes >> 8) & 0xFF);
  header.setUint8(2, (payloadData.lengthInBytes >> 16) & 0xFF);
  header.setUint8(3, sequenceID);

  final writer = ByteDataWriter(endian: Endian.little);
  writer.write(header.buffer.asUint8List());
  writer.write(payloadData);
  return writer.toBytes();
}