decodePacketHeader static method

Tuple2<int, int> decodePacketHeader(
  1. Uint8List buffer
)

Decodifica o cabeçalho do pacote, retornando (payloadLength, sequenceID).

Implementation

static Tuple2<int, int> decodePacketHeader(Uint8List buffer) {
  final byteData = ByteData.sublistView(buffer);
  // Lê os 3 primeiros bytes para payloadLength.
  var header = ByteData(4)
    ..setUint8(0, buffer[0])
    ..setUint8(1, buffer[1])
    ..setUint8(2, buffer[2])
    ..setUint8(3, 0);
  final payloadLength = header.getUint32(0, Endian.little);

  // O 4º byte é o sequenceNumber.
  final sequenceNumber = byteData.getUint8(3);
  return Tuple2(payloadLength, sequenceNumber);
}