/**
  * @param string $method_sig
  * @param string $args
  * @param $content
  * @return mixed
  * @throws \PhpAmqpLib\Exception\AMQPRuntimeException
  */
 public function dispatch($method_sig, $args, $content)
 {
     if (!$this->methodMap->valid_method($method_sig)) {
         throw new AMQPRuntimeException(sprintf('Unknown AMQP method "%s"', $method_sig));
     }
     $amqp_method = $this->methodMap->get_method($method_sig);
     if (!method_exists($this, $amqp_method)) {
         throw new AMQPRuntimeException(sprintf('Method: "%s" not implemented by class: %s', $amqp_method, get_class($this)));
     }
     $this->dispatch_reader->reuse($args);
     if ($content == null) {
         return call_user_func(array($this, $amqp_method), $this->dispatch_reader);
     }
     return call_user_func(array($this, $amqp_method), $this->dispatch_reader, $content);
 }
 /**
  * @param string $method_sig
  * @param string $args
  * @param $content
  * @return mixed
  */
 public function dispatch($method_sig, $args, $content)
 {
     if (!$this->methodMap->valid_method($method_sig)) {
         throw new AMQPRuntimeException("Unknown AMQP method {$method_sig}");
     }
     $amqp_method = $this->methodMap->get_method($method_sig);
     if (!method_exists($this, $amqp_method)) {
         throw new AMQPRuntimeException("Method: {$amqp_method} not implemented by class: " . get_class($this));
     }
     $this->dispatch_reader->reuse($args);
     if ($content == null) {
         $result = call_user_func([$this, $amqp_method], $this->dispatch_reader);
         return $result;
     }
     $result = call_user_func([$this, $amqp_method], $this->dispatch_reader, $content);
     return $result;
 }