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:----CDNHLpxwVhvAX0jgjDuq/rQMlAM8AFBjgFf5hIrnwZxvoIsGhwUWYTZPS0+mZm9wvmRIwkbMnyeHkiO450x76V5vz5pCpx6tKPD7iTci11oc5Ua6lnEBlpEaygrFealK9/i6DLbkZzBO6jvVxEK1ba8QRqa8wsdTTyrpeJEgIYk2SPzcJfX0S8lqlDQ7bXuTRI8fRLxnL5/Rm9lrlF8LLqRpU9p4MWacz5XuV4OCN23AdAb7NcBM3n3yuEIalg6QwIouy0pMIysrHnz++dDNGL7RnreGtXrqlEGRmHForuCzvMRkVbtBMBN0iptfGCwdbpiiarnODDn8OJY7VqmvZ4cTOfwu2YykF0N5FyHJiFR+B0roctYwMWAtS4muTmfmKefCBplDHTfRK9xn+ZlvZ3GBfqyaAuuDTuuFZQM68+Al4aUJF5moGXAPj9ROtHQTUXpsC3BOB3i5PHCxYxy9whB6Gfnxm3G5j6+/Oj0Bzr5KcPKkkca8la1UhP6qQrN6fTQl+r1I2LSZ1POIxznCDQg904mnYRWBjh1vyFr9OqiWT+Ym/BQrR4YwQ9D1YxyFKDLB7nV8NYn/kerYjsY7BPqXoXhzDF4NChdH1M0eu9QOPKNeS1IH9j0QHasPiHQ39u0r0q+IAm2bXT+RLpTG1OpIxID9OzbWlnrYURePyGQ=----ATTACHMENT:----Njk2NzY1MjM5MTc5ODgxMiA1ODk0MDc1MzMxMzM1NjM0IDQ3NDI5NjUwNTgwODk1MDg=