LogCabin
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Enumerations | Functions
LogCabin::RPC::Protocol Namespace Reference

Classes

struct  RequestHeaderPrefix
 This is the first part of the request header that RPC clients send, common to all versions of the protocol. More...
struct  RequestHeaderVersion1
 In version 1 of the protocol, this is the header format for requests from clients to servers. More...
struct  ResponseHeaderPrefix
 This is the first part of the response header that servers send, common to all versions of the protocol. More...
struct  ResponseHeaderVersion1
 In version 1 of the protocol, this is the header format for RPC responses. More...

Enumerations

enum  Status {
  OK,
  SERVICE_SPECIFIC_ERROR,
  INVALID_VERSION,
  INVALID_SERVICE,
  INVALID_REQUEST
}
 The status codes returned in server responses. More...

Functions

::std::ostream & operator<< (::std::ostream &stream, Status status)
 Output a Status to a stream. Improves gtest error messages.

Enumeration Type Documentation

The status codes returned in server responses.

Enumerator:
OK 

The service processed the request and returned a valid protocol buffer with the results.

SERVICE_SPECIFIC_ERROR 

An error specific to the particular service.

The format of the remainder of the message is specific to the particular service.

INVALID_VERSION 

The server did not like the version number provided in the request header.

If the client gets this, it should fall back to an older version number or crash.

INVALID_SERVICE 

The server does not have the requested service.

INVALID_REQUEST 

The server did not like the RPC request.

Either it specified an opCode the server didn't understand or a request protocol buffer the server couldn't accept. The client should avoid ever getting this by negotiating with the server about which version of the RPC protocol to use.

Definition at line 109 of file Protocol.h.


Function Documentation

std::ostream & LogCabin::RPC::Protocol::operator<< ( ::std::ostream &  stream,
Status  status 
)

Output a Status to a stream. Improves gtest error messages.

Definition at line 52 of file Protocol.cc.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines