/** * Output heartbeat loop */ public function outputHeartbeatLoop() { while ($this->isOpen()) { (yield Awaitable\resolve()->delay($this->heartbeat)); if (!$this->something_sent_between_heartbeat_checks) { $pkt = new AMQPBufferWriter(); $pkt->write_octet(FrameTypes::HEARTBEAT); $pkt->write_short(0); $pkt->write_long(0); $pkt->write_octet(Constants091::FRAME_END); (yield $this->client->write($pkt->getvalue())); } else { $this->something_sent_between_heartbeat_checks = false; } } }
/** * @return array */ public function basicGet($reserved1 = 0, $queue = '', $no_ack = false) { $args = new AMQPBufferWriter(); $args->write_short($reserved1); $args->write_shortstr($queue); $args->write_bits(array($no_ack)); return array(ClassTypes::BASIC, BasicMethods::GET, $args->getvalue()); }