code: def decode_packet_id(reader) -> int:
      
      packet_id_bytes = yield from read_or_raise(reader, 2)
      packet_id = unpack("!H", packet_id_bytes)
      return packet_id[0]
docs: Read a packet ID as 2-bytes int from stream according to MQTT specification (2.3.1)
      :param reader: Stream reader
      :return: Packet ID