public function start() { $packet = new PublishRequestPacket(); $packet->setTopic($this->message->getTopic()); $packet->setPayload($this->message->getPayload()); $packet->setRetained($this->message->isRetained()); $packet->setDuplicate($this->message->isDuplicate()); $packet->setQosLevel($this->message->getQosLevel()); if ($this->message->getQosLevel() === 0) { $this->succeed($this->message); } else { $packet->setIdentifier($this->identifier); } return $packet; }