GRPC C++  0.11.0.0
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Data Structures | Typedefs | Enumerations | Functions
grpc Namespace Reference

Namespaces

 CallOpGenericRecvMessageHelper
 
 protobuf
 
 testing
 

Data Structures

class  ClientReader
 
class  ClientWriter
 
class  ClientReaderWriter
 
class  ClientAsyncReader
 
class  ClientAsyncWriter
 
class  ClientAsyncReaderWriter
 
class  ClientAsyncResponseReader
 
class  Channel
 Channels represent a connection to an endpoint. Created by CreateChannel. More...
 
class  PropagationOptions
 Options for ClientContext::FromServerContext specifying which traits from the ServerContext to propagate (copy) from it into a new ClientContext. More...
 
class  ClientContext
 
class  ServerReader
 
class  ServerWriter
 
class  ServerReaderWriter
 Server-side interface for bi-directional streaming. More...
 
class  RpcMethodHandler
 
class  ClientStreamingHandler
 
class  ServerStreamingHandler
 
class  BidiStreamingHandler
 
class  CompletionQueue
 A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h). More...
 
class  CompletionQueueTag
 An interface allowing implementors to process and filter event tags. More...
 
class  ServerCompletionQueue
 A specific type of completion queue used by the processing of notifications by servers. More...
 
class  GenericServerContext
 
class  AsyncGenericService
 
class  GenericStub
 
class  WriteOptions
 Per-message write options. More...
 
class  CallNoOp
 Default argument for CallOpSet. More...
 
class  CallOpSendInitialMetadata
 
class  CallOpSendMessage
 
class  CallOpRecvMessage
 
class  CallOpGenericRecvMessage
 
class  CallOpClientSendClose
 
class  CallOpServerSendStatus
 
class  CallOpRecvInitialMetadata
 
class  CallOpClientRecvStatus
 
class  CallOpSetInterface
 An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. More...
 
class  CallOpSet
 Primary implementaiton of CallOpSetInterface. More...
 
class  SneakyCallOpSet
 A CallOpSet that does not post completions to the completion queue. More...
 
class  CallHook
 
class  Call
 
class  GrpcLibrary
 
class  SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 
class  RpcMethod
 
class  MethodHandler
 
class  UnknownMethodHandler
 
class  RpcServiceMethod
 
class  RpcService
 
class  SerializationTraits
 Defines how to serialize and deserialize some type. More...
 
class  SynchronousService
 
class  ServerAsyncStreamingInterface
 
class  AsynchronousService
 
class  lock_guard
 
class  mutex
 
class  unique_lock
 
class  condition_variable
 
class  thread
 
class  AuthPropertyIterator
 
class  AuthContext
 Class encapsulating the Authentication Information. More...
 
class  AuthMetadataProcessor
 
class  Credentials
 A credentials object encapsulates all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client’s identity, role, or whether it is authorized to make a particular call. More...
 
struct  SslCredentialsOptions
 Options used to build SslCredentials. More...
 
class  ServerCredentials
 
struct  SslServerCredentialsOptions
 Options to create ServerCredentials with SSL. More...
 
class  Server
 Models a gRPC server. More...
 
class  ServerBuilder
 A builder class for the creation and startup of grpc::Server instances. More...
 
class  ServerAsyncReader
 
class  ServerAsyncWriter
 
class  ServerAsyncResponseWriter
 
class  ServerAsyncReaderWriter
 Server-side interface for asynchronous bi-directional streaming. More...
 
class  ServerContext
 
class  ClientAsyncStreamingInterface
 Common interface for all client side asynchronous streaming. More...
 
class  AsyncReaderInterface
 An interface that yields a sequence of messages of type R. More...
 
class  AsyncWriterInterface
 An interface that can be fed a sequence of messages of type W. More...
 
class  ClientAsyncReaderInterface
 
class  ClientAsyncWriterInterface
 Common interface for client side asynchronous writing. More...
 
class  ClientAsyncReaderWriterInterface
 Client-side interface for asynchronous bi-directional streaming. More...
 
class  ClientAsyncResponseReaderInterface
 
class  ByteBuffer
 A sequence of bytes. More...
 
class  SerializationTraits< ByteBuffer, void >
 
class  ChannelArguments
 Options for channel creation. More...
 
class  Slice
 A wrapper around grpc_slice. More...
 
class  Status
 Did it work? If it didn't, why? More...
 
class  string_ref
 This class is a non owning reference to a string. More...
 
class  StubOptions
 
class  ClientStreamingInterface
 Common interface for all synchronous client side streaming. More...
 
class  ReaderInterface
 An interface that yields a sequence of messages of type R. More...
 
class  WriterInterface
 An interface that can be fed a sequence of messages of type W. More...
 
class  ClientReaderInterface
 Client-side interface for streaming reads of message of type R. More...
 
class  ClientWriterInterface
 Client-side interface for streaming writes of message of type W. More...
 
class  ClientReaderWriterInterface
 Client-side interface for bi-directional streaming. More...
 
class  TimePoint
 
class  TimePoint< gpr_timespec >
 
class  TimePoint< std::chrono::system_clock::time_point >
 
class  SecureCredentials
 
class  SecureAuthContext
 
class  AuthMetadataProcessorAyncWrapper
 
class  SecureServerCredentials
 
class  DynamicThreadPool
 
class  FixedSizeThreadPool
 
class  ThreadPoolInterface
 

Typedefs

typedef
ServerAsyncReaderWriter
< ByteBuffer, ByteBuffer
GenericServerAsyncReaderWriter
 
typedef
ClientAsyncReaderWriter
< ByteBuffer, ByteBuffer
GenericClientAsyncReaderWriter
 
typedef std::pair
< grpc::string_ref,
grpc::string_ref
AuthProperty
 
typedef std::string string
 
typedef SneakyCallOpSet
< CallOpSendInitialMetadata,
CallOpServerSendStatus
UnimplementedAsyncResponseOp
 

Enumerations

enum  StatusCode {
  OK = 0, CANCELLED = 1, UNKNOWN = 2, INVALID_ARGUMENT = 3,
  DEADLINE_EXCEEDED = 4, NOT_FOUND = 5, ALREADY_EXISTS = 6, PERMISSION_DENIED = 7,
  UNAUTHENTICATED = 16, RESOURCE_EXHAUSTED = 8, FAILED_PRECONDITION = 9, ABORTED = 10,
  OUT_OF_RANGE = 11, UNIMPLEMENTED = 12, INTERNAL = 13, UNAVAILABLE = 14,
  DATA_LOSS = 15, DO_NOT_USE = -1
}
 

Functions

std::shared_ptr< ChannelCreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds)
 Create a new Channel pointing to target. More...
 
std::shared_ptr< ChannelCreateCustomChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 Create a new custom Channel pointing to target. More...
 
void FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string_ref, grpc::string_ref > *metadata)
 
grpc_metadata * FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (Channel *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
Status SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
std::shared_ptr< CredentialsGoogleDefaultCredentials ()
 Builds credentials with reasonable defaults. More...
 
std::shared_ptr< CredentialsSslCredentials (const SslCredentialsOptions &options)
 Builds SSL Credentials given SSL specific options. More...
 
std::shared_ptr< CredentialsGoogleComputeEngineCredentials ()
 Builds credentials for use when running in GCE. More...
 
std::shared_ptr< CredentialsServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 Builds Service Account JWT Access credentials. More...
 
std::shared_ptr< CredentialsGoogleRefreshTokenCredentials (const grpc::string &json_refresh_token)
 Builds refresh token credentials. More...
 
std::shared_ptr< CredentialsAccessTokenCredentials (const grpc::string &access_token)
 Builds access token credentials. More...
 
std::shared_ptr< CredentialsGoogleIAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 Builds IAM credentials. More...
 
std::shared_ptr< CredentialsCompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 Combines two credentials objects into a composite credentials. More...
 
std::shared_ptr< CredentialsInsecureCredentials ()
 Credentials for an unencrypted, unauthenticated channel. More...
 
std::shared_ptr
< ServerCredentials
SslServerCredentials (const SslServerCredentialsOptions &options)
 Builds SSL ServerCredentials given SSL specific options. More...
 
std::shared_ptr
< ServerCredentials
InsecureServerCredentials ()
 Builds insecure server credentials. More...
 
bool operator== (string_ref x, string_ref y)
 
bool operator!= (string_ref x, string_ref y)
 
bool operator< (string_ref x, string_ref y)
 
bool operator> (string_ref x, string_ref y)
 
bool operator<= (string_ref x, string_ref y)
 
bool operator>= (string_ref x, string_ref y)
 
std::ostream & operator<< (std::ostream &stream, const string_ref &string)
 
void Timepoint2Timespec (const std::chrono::system_clock::time_point &from, gpr_timespec *to)
 
void TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point Timespec2Timepoint (gpr_timespec t)
 
std::shared_ptr< ChannelCreateChannelInternal (const grpc::string &host, grpc_channel *c_channel)
 
std::shared_ptr< const
AuthContext
CreateAuthContext (grpc_call *call)
 
ThreadPoolInterfaceCreateDefaultThreadPool ()
 
void Timepoint2Timespec (const system_clock::time_point &from, gpr_timespec *to)
 
void TimepointHR2Timespec (const high_resolution_clock::time_point &from, gpr_timespec *to)
 

Typedef Documentation

typedef std::string grpc::string

Enumeration Type Documentation

Enumerator
OK 

Not an error; returned on success.

CANCELLED 

The operation was cancelled (typically by the caller).

UNKNOWN 

Unknown error.

An example of where this error may be returned is if a Status value received from another address space belongs to an error-space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error.

INVALID_ARGUMENT 

Client specified an invalid argument.

Note that this differs from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name).

DEADLINE_EXCEEDED 

Deadline expired before operation could complete.

For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire.

NOT_FOUND 

Some requested entity (e.g., file or directory) was not found.

ALREADY_EXISTS 

Some entity that we attempted to create (e.g., file or directory) already exists.

PERMISSION_DENIED 

The caller does not have permission to execute the specified operation.

PERMISSION_DENIED must not be used for rejections caused by exhausting some resource (use RESOURCE_EXHAUSTED instead for those errors). PERMISSION_DENIED must not be used if the caller can not be identified (use UNAUTHENTICATED instead for those errors).

UNAUTHENTICATED 

The request does not have valid authentication credentials for the operation.

RESOURCE_EXHAUSTED 

Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.

FAILED_PRECONDITION 

Operation was rejected because the system is not in a state required for the operation's execution.

For example, directory to be deleted may be non-empty, an rmdir operation is applied to a non-directory, etc.

A litmus test that may help a service implementor in deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE: (a) Use UNAVAILABLE if the client can retry just the failing call. (b) Use ABORTED if the client should retry at a higher-level (e.g., restarting a read-modify-write sequence). (c) Use FAILED_PRECONDITION if the client should not retry until the system state has been explicitly fixed. E.g., if an "rmdir" fails because the directory is non-empty, FAILED_PRECONDITION should be returned since the client should not retry unless they have first fixed up the directory by deleting files from it. (d) Use FAILED_PRECONDITION if the client performs conditional REST Get/Update/Delete on a resource and the resource on the server does not match the condition. E.g., conflicting read-modify-write on the same resource.

ABORTED 

The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.

See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

OUT_OF_RANGE 

Operation was attempted past the valid range.

E.g., seeking or reading past end of file.

Unlike INVALID_ARGUMENT, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate INVALID_ARGUMENT if asked to read at an offset that is not in the range [0,2^32-1], but it will generate OUT_OF_RANGE if asked to read from an offset past the current file size.

There is a fair bit of overlap between FAILED_PRECONDITION and OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific error) when it applies so that callers who are iterating through a space can easily look for an OUT_OF_RANGE error to detect when they are done.

UNIMPLEMENTED 

Operation is not implemented or not supported/enabled in this service.

INTERNAL 

Internal errors.

Means some invariants expected by underlying System has been broken. If you see one of these errors, Something is very broken.

UNAVAILABLE 

The service is currently unavailable.

This is a most likely a transient condition and may be corrected by retrying with a backoff.

See litmus test above for deciding between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE.

DATA_LOSS 

Unrecoverable data loss or corruption.

DO_NOT_USE 

Force users to include a default branch:

Function Documentation

std::shared_ptr< Credentials > grpc::AccessTokenCredentials ( const grpc::string access_token)

Builds access token credentials.

access_token is an oauth2 access token that was fetched using an out of band mechanism.

Warning
Only use these credentials when connecting to a Google endpoint. Using these credentials to connect to any other service may result in this service being able to impersonate your client for requests to Google services.
template<class InputMessage , class OutputMessage >
Status grpc::BlockingUnaryCall ( Channel *  channel,
const RpcMethod &  method,
ClientContext *  context,
const InputMessage &  request,
OutputMessage *  result 
)
std::shared_ptr< Credentials > grpc::CompositeCredentials ( const std::shared_ptr< Credentials > &  creds1,
const std::shared_ptr< Credentials > &  creds2 
)

Combines two credentials objects into a composite credentials.

std::shared_ptr< const AuthContext > grpc::CreateAuthContext ( grpc_call *  call)
std::shared_ptr< Channel > grpc::CreateChannel ( const grpc::string target,
const std::shared_ptr< Credentials > &  creds 
)

Create a new Channel pointing to target.

Parameters
targetThe URI of the endpoint to connect to.
credsCredentials to use for the created channel. If it does not hold an object or is invalid, a lame channel is returned.
argsOptions for channel creation.
std::shared_ptr< Channel > grpc::CreateChannelInternal ( const grpc::string host,
grpc_channel *  c_channel 
)
std::shared_ptr< Channel > grpc::CreateCustomChannel ( const grpc::string target,
const std::shared_ptr< Credentials > &  creds,
const ChannelArguments &  args 
)

Create a new custom Channel pointing to target.

Warning
For advanced use and testing ONLY. Override default channel arguments only if necessary.
Parameters
targetThe URI of the endpoint to connect to.
credsCredentials to use for the created channel. If it does not hold an object or is invalid, a lame channel is returned.
argsOptions for channel creation.
ThreadPoolInterface * grpc::CreateDefaultThreadPool ( )
Status grpc::DeserializeProto ( grpc_byte_buffer *  buffer,
grpc::protobuf::Message msg,
int  max_message_size 
)
grpc_metadata * grpc::FillMetadataArray ( const std::multimap< grpc::string, grpc::string > &  metadata)
void grpc::FillMetadataMap ( grpc_metadata_array *  arr,
std::multimap< grpc::string_ref, grpc::string_ref > *  metadata 
)
std::shared_ptr< Credentials > grpc::GoogleComputeEngineCredentials ( )

Builds credentials for use when running in GCE.

Warning
Only use these credentials when connecting to a Google endpoint. Using these credentials to connect to any other service may result in this service being able to impersonate your client for requests to Google services.
std::shared_ptr< Credentials > grpc::GoogleDefaultCredentials ( )

Builds credentials with reasonable defaults.

Warning
Only use these credentials when connecting to a Google endpoint. Using these credentials to connect to any other service may result in this service being able to impersonate your client for requests to Google services.
std::shared_ptr< Credentials > grpc::GoogleIAMCredentials ( const grpc::string authorization_token,
const grpc::string authority_selector 
)

Builds IAM credentials.

Warning
Only use these credentials when connecting to a Google endpoint. Using these credentials to connect to any other service may result in this service being able to impersonate your client for requests to Google services.
std::shared_ptr< Credentials > grpc::GoogleRefreshTokenCredentials ( const grpc::string json_refresh_token)

Builds refresh token credentials.

json_refresh_token is the JSON string containing the refresh token along with a client_id and client_secret.

Warning
Only use these credentials when connecting to a Google endpoint. Using these credentials to connect to any other service may result in this service being able to impersonate your client for requests to Google services.
std::shared_ptr< Credentials > grpc::InsecureCredentials ( )

Credentials for an unencrypted, unauthenticated channel.

std::shared_ptr< ServerCredentials > grpc::InsecureServerCredentials ( )

Builds insecure server credentials.

bool grpc::operator!= ( string_ref  x,
string_ref  y 
)
bool grpc::operator< ( string_ref  x,
string_ref  y 
)
std::ostream & grpc::operator<< ( std::ostream &  stream,
const string_ref &  string 
)
bool grpc::operator<= ( string_ref  x,
string_ref  y 
)
bool grpc::operator== ( string_ref  x,
string_ref  y 
)
bool grpc::operator> ( string_ref  x,
string_ref  y 
)
bool grpc::operator>= ( string_ref  x,
string_ref  y 
)
Status grpc::SerializeProto ( const grpc::protobuf::Message msg,
grpc_byte_buffer **  buffer 
)
std::shared_ptr< Credentials > grpc::ServiceAccountJWTAccessCredentials ( const grpc::string json_key,
long  token_lifetime_seconds 
)

Builds Service Account JWT Access credentials.

json_key is the JSON key string containing the client's private key. token_lifetime_seconds is the lifetime in seconds of each Json Web Token (JWT) created with this credentials. It should not exceed grpc_max_auth_token_lifetime or will be cropped to this value.

std::shared_ptr< Credentials > grpc::SslCredentials ( const SslCredentialsOptions &  options)

Builds SSL Credentials given SSL specific options.

std::shared_ptr< ServerCredentials > grpc::SslServerCredentials ( const SslServerCredentialsOptions &  options)

Builds SSL ServerCredentials given SSL specific options.

void grpc::Timepoint2Timespec ( const system_clock::time_point &  from,
gpr_timespec *  to 
)
void grpc::Timepoint2Timespec ( const std::chrono::system_clock::time_point &  from,
gpr_timespec *  to 
)
void grpc::TimepointHR2Timespec ( const high_resolution_clock::time_point &  from,
gpr_timespec *  to 
)
void grpc::TimepointHR2Timespec ( const std::chrono::high_resolution_clock::time_point &  from,
gpr_timespec *  to 
)
system_clock::time_point grpc::Timespec2Timepoint ( gpr_timespec  t)