/**
  * @param AMQPMessage $message
  *
  * @throws \Exception
  */
 public function handle(AMQPMessage $message)
 {
     $reply = null;
     try {
         $reply = $this->handler->handle($message);
         $this->channel->basic_ack($message->delivery_info['delivery_tag'], false);
     } catch (RequestNotSupportedException $exception) {
         $this->channel->basic_ack($message->delivery_info['delivery_tag'], false);
     } catch (\Exception $e) {
         $this->channel->basic_reject($message->delivery_info['delivery_tag'], false);
         throw $e;
     }
     if ($reply !== null) {
         $this->channel->basic_publish($reply, '', $message->get('reply_to'));
     }
 }
 /**
  * @param  string $deliveryTag
  * @param  boolean $requeue
  * @return mixed
  */
 public function basic_reject($deliveryTag, $requeue = true)
 {
     return $this->channel->basic_reject($deliveryTag, $requeue);
 }