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))); }
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())); }