private function setupConsume($flags, $consumer_tag = null) { $auto_ack = boolval($flags & AMQP_AUTOACK); if ($consumer_tag === null) { $consumer_tag = ''; } //Man-in-the-middle callback to transform response to an envelope. //AMQPProtocolChannelException $queue = $this; list($this->consumer_tag) = $this->channel->_getChannel()->basic_consume($this->name, $consumer_tag, $no_local = false, $auto_ack, $exclusive = false, $nowait = false, function (AMQPMessage $message) use($queue) { $queue->last_envelope = AMQPEnvelope::fromAMQPMessage($message); }); }