parseLongHeaderType function

LongPacketType parseLongHeaderType(
  1. Uint8List packet
)

Implementation

LongPacketType parseLongHeaderType(Uint8List packet) {
  final firstByte = packet[0];

  // Bits 4–5 encode the long header packet type
  final typeBits = (firstByte >> 4) & 0x03;

  switch (typeBits) {
    case 0x0:
      return LongPacketType.initial;
    case 0x1:
      return LongPacketType.zeroRtt;
    case 0x2:
      return LongPacketType.handshake;
    case 0x3:
      return LongPacketType.retry;
    default:
      throw StateError('Invalid long header type bits: $typeBits');
  }
}