예제 #1
0
 /**
  * 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);
 }
예제 #2
0
 /**
  * @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);
 }