public function testGetHeaderTestFixedHeaderWithTwoSubscribedTopics()
 {
     $version = new \oliverlorenz\reactphpmqtt\protocol\Version4();
     $packet = new \oliverlorenz\reactphpmqtt\packet\Subscribe($version);
     $subscriptionTopic = 'a/b';
     $packet->addSubscription($subscriptionTopic, 1);
     $subscriptionTopic = 'c/d';
     $packet->addSubscription($subscriptionTopic, 2);
     $this->assertEquals(MessageHelper::getReadableByRawString(substr($packet->get(), 0, 2)), MessageHelper::getReadableByRawString(chr(130) . chr(14)));
 }
 public function testGetHeaderTestVariableHeaderWithConnectFlagUserNamePasswordCleanSession()
 {
     $version = new \oliverlorenz\reactphpmqtt\protocol\Version4();
     $packet = new \oliverlorenz\reactphpmqtt\packet\Connect($version, 'username', 'password', 'clientId', true, false, null, false);
     $this->assertEquals(MessageHelper::getReadableByRawString(chr(0) . chr(4) . 'MQTT' . chr(4) . chr(194) . chr(0) . chr(10)), MessageHelper::getReadableByRawString(substr($packet->get(), 2, 10)));
 }
Exemple #3
0
 public function connect(Stream $stream, $username = null, $password = null, $clientId = null, $cleanSession = true, $willTopic = null, $willMessage = null, $willQos = null, $willRetain = null)
 {
     $packet = new Connect($this->version, $username, $password, $clientId, $cleanSession, $willTopic, $willMessage, $willQos, $willRetain);
     $message = $packet->get();
     echo MessageHelper::getReadableByRawString($message);
     $deferred = new Deferred();
     if ($stream->write($message)) {
         $deferred->resolve($stream);
     } else {
         $deferred->reject();
     }
     return $deferred->promise();
 }
 public function testParseWithDup()
 {
     $input = chr(56) . chr(4) . chr(0) . chr(0) . chr(0) . chr(10);
     $version = new \oliverlorenz\reactphpmqtt\protocol\Version4();
     $parsedPacket = \oliverlorenz\reactphpmqtt\packet\Publish::parse($version, $input);
     $comparisonPacket = new \oliverlorenz\reactphpmqtt\packet\Publish($version);
     $comparisonPacket->setDup(true);
     $this->assertEquals(\oliverlorenz\reactphpmqtt\packet\MessageHelper::getReadableByRawString($parsedPacket->get()), \oliverlorenz\reactphpmqtt\packet\MessageHelper::getReadableByRawString($comparisonPacket->get()));
 }