src/Bunny/Channel.php
protected function onBodyComplete()
    {
        if ($this->returnFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());
            $message = new Message(
                null,
                null,
                false,
                $this->returnFrame->exchange,
                $this->returnFrame->routingKey,
                $this->headerFrame->toArray(),
                $content
            );

            foreach ($this->returnCallbacks as $callback) {
                $callback($message, $this->returnFrame);
            }

            $this->returnFrame = null;
            $this->headerFrame = null;

        } elseif ($this->deliverFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());
            if (isset($this->deliverCallbacks[$this->deliverFrame->consumerTag])) {
                $message = new Message(
                    $this->deliverFrame->consumerTag,
                    $this->deliverFrame->deliveryTag,
                    $this->deliverFrame->redelivered,
                    $this->deliverFrame->exchange,
                    $this->deliverFrame->routingKey,
                    $this->headerFrame->toArray(),
                    $content
                );

                $callback = $this->deliverCallbacks[$this->deliverFrame->consumerTag];

                $callback($message, $this, $this->client);
            }

            $this->deliverFrame = null;
            $this->headerFrame = null;

        } elseif ($this->getOkFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());

            // deferred has to be first nullified and then resolved, otherwise results in race condition
            $deferred = $this->getDeferred;
            $this->getDeferred = null;
            $deferred->resolve(new Message(
                null,
                $this->getOkFrame->deliveryTag,
                $this->getOkFrame->redelivered,
                $this->getOkFrame->exchange,
                $this->getOkFrame->routingKey,
                $this->headerFrame->toArray(),
                $content
            ));

            $this->getOkFrame = null;
            $this->headerFrame = null;

        } else {
            throw new \LogicException("Either return or deliver frame has to be handled here.");
        }
    }
protected function onBodyComplete()
    {
        if ($this->returnFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());
            $message = new Message(
                null,
                null,
                false,
                $this->returnFrame->exchange,
                $this->returnFrame->routingKey,
                $this->headerFrame->toArray(),
                $content
            );

            foreach ($this->returnCallbacks as $callback) {
                $callback($message, $this->returnFrame);
            }

            $this->returnFrame = null;
            $this->headerFrame = null;

        } elseif ($this->deliverFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());
            if (isset($this->deliverCallbacks[$this->deliverFrame->consumerTag])) {
                $message = new Message(
                    $this->deliverFrame->consumerTag,
                    $this->deliverFrame->deliveryTag,
                    $this->deliverFrame->redelivered,
                    $this->deliverFrame->exchange,
                    $this->deliverFrame->routingKey,
                    $this->headerFrame->toArray(),
                    $content
                );

                $callback = $this->deliverCallbacks[$this->deliverFrame->consumerTag];

                $callback($message, $this, $this->client);
            }

            $this->deliverFrame = null;
            $this->headerFrame = null;

        } elseif ($this->getOkFrame) {
            $content = $this->bodyBuffer->consume($this->bodyBuffer->getLength());

            // deferred has to be first nullified and then resolved, otherwise results in race condition
            $deferred = $this->getDeferred;
            $this->getDeferred = null;
            $deferred->resolve(new Message(
                null,
                $this->getOkFrame->deliveryTag,
                $this->getOkFrame->redelivered,
                $this->getOkFrame->exchange,
                $this->getOkFrame->routingKey,
                $this->headerFrame->toArray(),
                $content
            ));

            $this->getOkFrame = null;
            $this->headerFrame = null;

        } else {
            throw new \LogicException("Either return or deliver frame has to be handled here.");
        }
    }
protected function onBodyComplete ( ) { if ( $ this -> returnFrame ) { $ content = $ this -> bodyBuffer -> consume ( $ this -> bodyBuffer -> getLength ( ) ) ; $ message = new Message ( null , null , false , $ this -> returnFrame -> exchange , $ this -> returnFrame -> routingKey , $ this -> headerFrame -> toArray ( ) , $ content ) ; foreach ( $ this -> returnCallbacks as $ callback ) { $ callback ( $ message , $ this -> returnFrame ) ; } $ this -> returnFrame = null ; $ this -> headerFrame = null ; } elseif ( $ this -> deliverFrame ) { $ content = $ this -> bodyBuffer -> consume ( $ this -> bodyBuffer -> getLength ( ) ) ; if ( isset ( $ this -> deliverCallbacks [ $ this -> deliverFrame -> consumerTag ] ) ) { $ message = new Message ( $ this -> deliverFrame -> consumerTag , $ this -> deliverFrame -> deliveryTag , $ this -> deliverFrame -> redelivered , $ this -> deliverFrame -> exchange , $ this -> deliverFrame -> routingKey , $ this -> headerFrame -> toArray ( ) , $ content ) ; $ callback = $ this -> deliverCallbacks [ $ this -> deliverFrame -> consumerTag ] ; $ callback ( $ message , $ this , $ this -> client ) ; } $ this -> deliverFrame = null ; $ this -> headerFrame = null ; } elseif ( $ this -> getOkFrame ) { $ content = $ this -> bodyBuffer -> consume ( $ this -> bodyBuffer -> getLength ( ) ) ; // deferred has to be first nullified and then resolved, otherwise results in race condition $ deferred = $ this -> getDeferred ; $ this -> getDeferred = null ; $ deferred -> resolve ( new Message ( null , $ this -> getOkFrame -> deliveryTag , $ this -> getOkFrame -> redelivered , $ this -> getOkFrame -> exchange , $ this -> getOkFrame -> routingKey , $ this -> headerFrame -> toArray ( ) , $ content ) ) ; $ this -> getOkFrame = null ; $ this -> headerFrame = null ; } else { throw new \ LogicException ( "Either return or deliver frame has to be handled here." ) ; } }
Callback after content body has been completely received.
Callback after content body has been completely received .