/** * Receive a protobuf reponse message * * @param \Riak\Client\Core\Transport\Proto\ProtoStream $stream * @param integer $messageCode * * @return \DrSlump\Protobuf\Message */ public function receiveMessage(ProtoStream $stream, $messageCode) { $response = $this->connection->receive($stream); $class = $this->classForCode($messageCode); $respCode = $response[0]; $respBody = $response[1]; if ($respCode != $messageCode) { throw $this->createResponseException($respCode, $respBody); } if ($class == null) { return; } return Protobuf::decode($class, (string) $respBody); }
/** * @expectedException Riak\Client\Core\Transport\RiakTransportException * @expectedExceptionMessage Fail to read response headers */ public function testReceiveInvalidHeaderException() { $stream = $this->getMock('Riak\\Client\\Core\\Transport\\Proto\\ProtoStream', [], [], '', false); $stream->expects($this->once())->method('read')->willReturn(false)->with($this->equalTo(4)); $this->instance->receive($stream); }