Example #1
0
 public function accept(Packet $packet)
 {
     if ($this->message->getQosLevel() !== 2 || $packet->getPacketType() !== Packet::TYPE_PUBREL) {
         return false;
     }
     /* @var PublishReleasePacket $packet */
     return $packet->getIdentifier() === $this->identifier;
 }
Example #2
0
 public function accept(Packet $packet)
 {
     if ($this->message->getQosLevel() === 0) {
         return false;
     }
     $packetType = $packet->getPacketType();
     if ($packetType === Packet::TYPE_PUBACK && $this->message->getQosLevel() === 1) {
         /* @var PublishAckPacket $packet */
         return $packet->getIdentifier() === $this->identifier;
     } elseif ($this->message->getQosLevel() === 2) {
         if ($packetType === Packet::TYPE_PUBREC) {
             /* @var PublishReceivedPacket $packet */
             return $packet->getIdentifier() === $this->identifier;
         } elseif ($this->receivedPubRec && $packetType === Packet::TYPE_PUBCOMP) {
             /* @var PublishCompletePacket $packet */
             return $packet->getIdentifier() === $this->identifier;
         }
     }
     return false;
 }