public function consume($queueName, array $options = [], callable $callback)
    {
        $consumerTag = array_key_exists('consumerTag', $options) ? $options['consumerTag'] : null;
        $noLocal = array_key_exists('noLocal', $options) ? (bool)$options['noLocal'] : null;
        $noAck = array_key_exists('noAck', $options) ? (bool)$options['noAck'] : null;
        $exclusive = array_key_exists('exclusive', $options) ? (bool)$options['exclusive'] : null;
        $noWait = array_key_exists('noWait', $options) ? (bool)$options['noWait'] : null;
        $arguments = array_key_exists('arguments', $options) ? $options['arguments'] : null;

        $outputFrame = Basic\BasicConsumeFrame::create(
            $queueName,
            $consumerTag,
            $noLocal,
            $noAck,
            $exclusive,
            $noWait,
            $arguments
        );
        $outputFrame->frameChannelId = $this->id;
        $this->connection->command($outputFrame);

        if (is_callable($callback)) {
            $this->on(self::EVENT_ON_CHANNEL_CONSUMEOK_CALLBACK, function (Basic\BasicConsumeOkFrame $incomingFrame) use ($callback) {
                $this->consumers[$incomingFrame->consumerTag] = $callback;
            });
        }
    }
public function consume($queueName, array $options = [], callable $callback)
    {
        $consumerTag = array_key_exists('consumerTag', $options) ? $options['consumerTag'] : null;
        $noLocal = array_key_exists('noLocal', $options) ? (bool)$options['noLocal'] : null;
        $noAck = array_key_exists('noAck', $options) ? (bool)$options['noAck'] : null;
        $exclusive = array_key_exists('exclusive', $options) ? (bool)$options['exclusive'] : null;
        $noWait = array_key_exists('noWait', $options) ? (bool)$options['noWait'] : null;
        $arguments = array_key_exists('arguments', $options) ? $options['arguments'] : null;

        $outputFrame = Basic\BasicConsumeFrame::create(
            $queueName,
            $consumerTag,
            $noLocal,
            $noAck,
            $exclusive,
            $noWait,
            $arguments
        );
        $outputFrame->frameChannelId = $this->id;
        $this->connection->command($outputFrame);

        if (is_callable($callback)) {
            $this->on(self::EVENT_ON_CHANNEL_CONSUMEOK_CALLBACK, function (Basic\BasicConsumeOkFrame $incomingFrame) use ($callback) {
                $this->consumers[$incomingFrame->consumerTag] = $callback;
            });
        }
    }
public function consume ( $ queueName , array $ options = [ ] , callable $ callback ) { $ consumerTag = array_key_exists ( 'consumerTag' , $ options ) ? $ options [ 'consumerTag' ] : null ; $ noLocal = array_key_exists ( 'noLocal' , $ options ) ? ( bool ) $ options [ 'noLocal' ] : null ; $ noAck = array_key_exists ( 'noAck' , $ options ) ? ( bool ) $ options [ 'noAck' ] : null ; $ exclusive = array_key_exists ( 'exclusive' , $ options ) ? ( bool ) $ options [ 'exclusive' ] : null ; $ noWait = array_key_exists ( 'noWait' , $ options ) ? ( bool ) $ options [ 'noWait' ] : null ; $ arguments = array_key_exists ( 'arguments' , $ options ) ? $ options [ 'arguments' ] : null ; $ outputFrame = Basic \ BasicConsumeFrame :: create ( $ queueName , $ consumerTag , $ noLocal , $ noAck , $ exclusive , $ noWait , $ arguments ) ; $ outputFrame -> frameChannelId = $ this -> id ; $ this -> connection -> command ( $ outputFrame ) ; if ( is_callable ( $ callback ) ) { $ this -> on ( self :: EVENT_ON_CHANNEL_CONSUMEOK_CALLBACK , function ( Basic \ BasicConsumeOkFrame $ incomingFrame ) use ( $ callback ) { $ this -> consumers [ $ incomingFrame -> consumerTag ] = $ callback ; } ) ; } }
Bind a consumer to consume on message receive

@param string $queueName a queue name
@param array $options
@param callable $callback
@throws \InvalidArgumentException
@throws \PHPDaemon\Clients\AMQP\Driver\Protocol\Exception\AMQPProtocolException
Bind a consumer to consume on message receive