/** * Invoke service * * @param Invocation $invocation * @return mixed * @throws InitiallyRpcException */ public function invoke(Invocation $invocation) { $request = new Request(); $request->setInterface($this->interface); $request->setMethodName($invocation->getMethodName()); $request->setArguments($invocation->getArguments()); $transport = Transport::factory($this->config->getTransport()); if (!$transport instanceof Transport) { throw new InitiallyRpcException("missing transport"); } return $transport->send($request); }