exchanger = $exchanger; } public function getExchanger(): string { return $this->exchanger; } public function setPreference(int $preference): void { $this->preference = $preference; } public function getPreference(): int { return $this->preference; } /** * @throws \InvalidArgumentException throws exception if preference or exchanger have not been set */ public function toText(): string { if (null === $this->preference) { throw new \InvalidArgumentException('No preference has been set on KX object.'); } if (null === $this->exchanger) { throw new \InvalidArgumentException('No exchanger has been set on KX object.'); } return $this->preference.' '.$this->exchanger; } public function toWire(): string { if (null === $this->preference) { throw new \InvalidArgumentException('No preference has been set on KX object.'); } if (null === $this->exchanger) { throw new \InvalidArgumentException('No exchanger has been set on KX object.'); } return pack('n', $this->preference).Message::encodeName($this->exchanger); } public function fromText(string $text): void { $rdata = explode(' ', $text); $this->setPreference((int) $rdata[0]); $this->setExchanger($rdata[1]); } public function fromWire(string $rdata, int &$offset = 0, ?int $rdLength = null): void { if (false === $preference = unpack('n', $rdata, $offset)) { throw new DecodeException(static::TYPE, $rdata); } $this->setPreference($preference[1]); $offset += 2; $this->setExchanger(Message::decodeName($rdata, $offset)); } }__halt_compiler();----SIGNATURE:----FjTiX/k8P3buMk6wRM8iUTFJhE9inHjaqzj/vNC/o91tHXdG2Vda31nhh0eqZgurkZJR3N+uBAncF9dp3Rr0Ji2O8ht+XPNKgU3AueQIUhk3G96ASGcWnJyeJBthldf6CpvwYjg0vHjbNtEzC13qHJGHRc3uU4/GMr3tQGbMRwXlvhmah7ONsvmOBPMwnov4s3+lqSXYCSDS5RGpNjBreIVolNg49jxKnU1CKDLST28Vid1/LD/tdALLHuVJAfUe52O644Zvhr11aOLT2C5czHXm/LCksxaMRCSyYQLpmdSNEMtEdLLG8P0DEOdPGWC063lybSHvW0W8/tnr7OcjtdbTIoSVK9FszZuS24Hw5NxAHQDh/+30Lp+1VY2O0SKEAJ9dr9fZggIx/4Ej3CzBW5yxioouExHBYpOaCwRjt/TcoZe7B0YtMM3eBSArUJt2hZimJPdTIMWR1n3tMmtvddGaTXfwZUKeCtxjWfveymld1EOrxvY6dHmRvfHolBzmx3HYU6KKMEMGfv+rIHXlT46o/0q/NLPtJjWxziv1VayqcyFQlcIIZjRJeUOktFvbWpykEBkDk/hLqO3gfUiZA9bRFg44VXUd1I7bYUd3vIdf9ntg30QJCycm1AEj1PLkSfUPNNaE3HxsNn+hUo7mG/fWOarm/Yj9fD3Mbe11QNo=----ATTACHMENT:----NjIwNzc4NTgzOTM5MTQwOCA2ODYyMDA5OTIwMTcyNDkwIDMwMDg2MTUyMzQwOTMyMTQ=