decodeHeader function

PacketHeader decodeHeader(
  1. ReadData reader
)

Implementation

PacketHeader decodeHeader(ReadData reader) {
  var b = reader.readByte();
  var header = PacketHeader();
  header.noPersist = (b & 0x01) > 0;
  header.showUnread = ((b >> 1) & 0x01) > 0;
  header.syncOnce = ((b >> 2) & 0x01) > 0;
  header.packetType = PacketType.values[(b >> 4)];
  if (header.packetType != PacketType.ping &&
      header.packetType != PacketType.pong) {
    header.remainingLength = reader.readVariableLength();
  }
  if (header.packetType == PacketType.connack) {
    header.hasServerVersion = (b & 0x01) > 0;
  }
  return header;
}