/** * @param NetworkMessage $object * @return Buffer */ public function serialize(NetworkMessage $object) { $payload = $object->getPayload()->getBuffer(); $command = str_pad(unpack("H*", $object->getCommand())[1], 24, '0', STR_PAD_RIGHT); $header = $this->getHeaderTemplate()->write([Buffer::hex($this->network->getNetMagicBytes()), Buffer::hex($command), $payload->getSize(), $object->getChecksum()]); return Buffertools::concat($header, $payload); }