name; } /** * @param string $name * * @throws InvalidArgumentException */ public function setName($name): void { if (!Validator::fullyQualifiedDomainName($name, false)) { throw new InvalidArgumentException(sprintf('"%s" is not a fully qualified domain name.', $name)); } $this->name = $name; } public function getTypeCode(): int { return $this->typeCode; } /** * @throws UnsupportedTypeException */ public function getType(): string { return Types::getName($this->typeCode); } /** * @throws \DomainException */ public function setTypeCode(int $typeCode): void { if (!Validator::isUnsignedInteger($typeCode, 16)) { throw new \DomainException(sprintf('TypeCode must be an unsigned 16-bit integer. "%d" given.', $typeCode)); } $this->typeCode = $typeCode; } /** * @throws UnsupportedTypeException */ public function setType(string $type): void { $this->setTypeCode(Types::getTypeCode($type)); } public function getClassId(): int { return $this->classId; } public function getClass(): string { return Classes::getClassName($this->classId); } /** * @throws \InvalidArgumentException */ public function setClassId(int $classId): void { if (!Validator::isUnsignedInteger($classId, 16)) { throw new InvalidArgumentException(sprintf('Invalid class: "%s".', $classId)); } $this->classId = $classId; } public function setClass(string $class): void { $this->setClassId(Classes::getClassId($class)); } public function toWire(): string { return Message::encodeName($this->name).pack('nn', $this->typeCode, $this->classId); } /** * @throws UnexpectedValueException * @throws UnsupportedTypeException */ public static function fromWire(string $encoded, int &$offset = 0): Question { $question = new self(); $question->setName(Message::decodeName($encoded, $offset)); if (false === $integers = unpack('ntype/nclass', $encoded, $offset)) { throw new UnexpectedValueException(sprintf('Malformed DNS query encountered. "%s"', DecodeException::binaryToHex($encoded))); } $question->setTypeCode($integers['type']); $question->setClassId($integers['class']); $offset += 4; return $question; } }__halt_compiler();----SIGNATURE:----OJbhpB/BZw4O4nX3hM5Oqvytqa1x4Sh6fEojBTVwFvgMuilR82Cjy7WMfZayfcnQB56psuK7BeNUfemXQZJ0faioSi9aPJpDBlVWGmfktS5IS9TCCPIirZV9xHuIRNO9eaQhc8CzcKrO+oY/vqRmIEqJR+GLooTkQ0sznRE2zbCFbHV2vTCqVQBPTdQiYHzP9PxDQ3fIXqCK7dDFxHtJYnHgEWTTSmp4WSgrFgiRwTl4YKBa5RCsdZFCr6NJw+ldPFyXm67ZSsKPVTklxgebywkxrVifmmFJzVDr4kSt1zO+Cqmg/CO1Ncaxs1a2S295a/tDiKlRpcE+OzKZGTxH4g5zJUW8Zw0mZx5mRE0VDUm2EbUBgIfR0ZmmKr/OWkhPcSeIXGFNfq0t+7vbe75Si0WAKaiUcc+uM8SfzMZXMTOpojhig4hIkI27gqJs+3IOuypMKSqgkoJMdLR7rQr+mPbblStkqLavhjG4gpmnCiWaVWjo65olinbAWFbjMSODEV0WvdcosDITo2szPk5z2prOR9DrWKyYw2I8qLpaVrSpzYdKHbcISp7+pF4NRkhxiVYqmM7fYturZKScM3Nnqj4V07TKJOMLI6jYzLP463X8mJlanQ67Ttuim/ukqhso8XAux1P7+dB9Q+RFEkXXFOAHWGTmTP/Gmn11yfq++cI=----ATTACHMENT:----NDQ4MTE1NTEwMTI4MzA2NiAxMDcwOTQ5NjQ2Mjg0NzU2IDU2MTk2NzAyNDAwMjc4MDM=