/** * Save * * @param Message $message Message * * @return string Message string */ public function save(Message $message) { $data = array('serializer' => $this->serializerDefault, 'body' => $this->getSerializer()->serialize($message->body)); if ($message->hasRpcChannel()) { $data['rpc_channel'] = $message->getRpcChannel(); } if ($message->hasRpcChannelExpire()) { $data['rpc_channel_expire'] = $message->getRpcChannelExpire(); } if (null !== ($requestId = $message->getRequestId())) { $data['request_id'] = $requestId; } return json_encode($data); }
/** * Publish * * @param scalar $requestId Request id * @param boolean $appendToQueue Append message to queue */ private function publish($requestId, $appendToQueue = false) { $message = new Message(); $message->body = $this->requestBodies[$requestId]; $message->setRpcChannel($this->channel); $message->setRpcChannelExpire($this->getChannelExpire()); $message->setRequestId($requestId); $producer = new Producer($this->requests[$requestId], $this->connection); $producer->publish($message, $appendToQueue); }