示例#1
0
 public function publish(Stream $stream, $topic, $message, $qos = 0, $dup = false)
 {
     $deferred = new Deferred();
     $packet = new Publish($this->version);
     $packet->setTopic($topic);
     $packet->setMessageId($this->messageCounter++);
     $packet->setQos($qos);
     $packet->setDup($dup);
     $packet->addRawToPayLoad($message);
     $success = $this->sentMessageToStream($stream, $packet);
     if ($success) {
         $deferred->resolve($stream);
     } else {
         $deferred->reject();
     }
     return $deferred->promise();
 }