GRPC C++
1.13.0-dev
|
A ClientContext allows the person implementing a service client to: More...
#include <client_context.h>
Data Structures | |
class | GlobalCallbacks |
Global Callbacks. More... | |
Public Member Functions | |
ClientContext () | |
~ClientContext () | |
void | AddMetadata (const grpc::string &meta_key, const grpc::string &meta_value) |
Add the (meta_key, meta_value) pair to the metadata associated with a client call. More... | |
const std::multimap< grpc::string_ref, grpc::string_ref > & | GetServerInitialMetadata () const |
Return a collection of initial metadata key-value pairs. More... | |
const std::multimap< grpc::string_ref, grpc::string_ref > & | GetServerTrailingMetadata () const |
Return a collection of trailing metadata key-value pairs. More... | |
template<typename T > | |
void | set_deadline (const T &deadline) |
Set the deadline for the client call. More... | |
void | set_idempotent (bool idempotent) |
EXPERIMENTAL: Indicate that this request is idempotent. More... | |
void | set_cacheable (bool cacheable) |
EXPERIMENTAL: Set this request to be cacheable. More... | |
void | set_wait_for_ready (bool wait_for_ready) |
EXPERIMENTAL: Trigger wait-for-ready or not on this request. More... | |
void | set_fail_fast (bool fail_fast) |
DEPRECATED: Use set_wait_for_ready() instead. More... | |
std::chrono::system_clock::time_point | deadline () const |
Return the deadline for the client call. More... | |
gpr_timespec | raw_deadline () const |
Return a gpr_timespec representation of the client call's deadline. More... | |
void | set_authority (const grpc::string &authority) |
Set the per call authority header (see https://tools.ietf.org/html/rfc7540#section-8.1.2.3). More... | |
std::shared_ptr< const AuthContext > | auth_context () const |
Return the authentication context for this client call. More... | |
void | set_credentials (const std::shared_ptr< CallCredentials > &creds) |
Set credentials for the client call. More... | |
grpc_compression_algorithm | compression_algorithm () const |
Return the compression algorithm the client call will request be used. More... | |
void | set_compression_algorithm (grpc_compression_algorithm algorithm) |
Set algorithm to be the compression algorithm used for the client call. More... | |
void | set_initial_metadata_corked (bool corked) |
Flag whether the initial metadata should be corked. More... | |
grpc::string | peer () const |
Return the peer uri in a string. More... | |
void | set_census_context (struct census_context *ccp) |
Get and set census context. More... | |
struct census_context * | census_context () const |
void | TryCancel () |
Send a best-effort out-of-band cancel on the call associated with this client context. More... | |
grpc_call * | c_call () |
Should be used for framework-level extensions only. More... | |
grpc::string | debug_error_string () const |
EXPERIMENTAL debugging API. More... | |
Static Public Member Functions | |
static std::unique_ptr< ClientContext > | FromServerContext (const ServerContext &server_context, PropagationOptions options=PropagationOptions()) |
Create a new ClientContext as a child of an incoming server call, according to options (. More... | |
static void | SetGlobalCallbacks (GlobalCallbacks *callbacks) |
Friends | |
class | ::grpc::testing::InteropClientContextInspector |
class | ::grpc::internal::CallOpClientRecvStatus |
class | ::grpc::internal::CallOpRecvInitialMetadata |
class | Channel |
template<class R > | |
class | ::grpc::ClientReader |
template<class W > | |
class | ::grpc::ClientWriter |
template<class W , class R > | |
class | ::grpc::ClientReaderWriter |
template<class R > | |
class | ::grpc::ClientAsyncReader |
template<class W > | |
class | ::grpc::ClientAsyncWriter |
template<class W , class R > | |
class | ::grpc::ClientAsyncReaderWriter |
template<class R > | |
class | ::grpc::ClientAsyncResponseReader |
template<class InputMessage , class OutputMessage > | |
class | ::grpc::internal::BlockingUnaryCallImpl |
A ClientContext allows the person implementing a service client to:
Context settings are only relevant to the call they are invoked with, that is to say, they aren't sticky. Some of these settings, such as the compression options, can be made persistent at channel construction time (see grpc::CreateCustomChannel).
grpc::ClientContext::ClientContext | ( | ) |
grpc::ClientContext::~ClientContext | ( | ) |
void grpc::ClientContext::AddMetadata | ( | const grpc::string & | meta_key, |
const grpc::string & | meta_value | ||
) |
Add the (meta_key, meta_value) pair to the metadata associated with a client call.
These are made available at the server side by the grpc::ServerContext::client_metadata() method.
meta_key | The metadata key. If meta_value is binary data, it must end in "-bin". |
meta_value | The metadata value. If its value is binary, the key name must end in "-bin". |
|
inline |
Return the authentication context for this client call.
|
inline |
Should be used for framework-level extensions only.
Applications never need to call this method.
|
inline |
|
inline |
Return the compression algorithm the client call will request be used.
Note that the gRPC runtime may decide to ignore this request, for example, due to resource constraints.
|
inline |
Return the deadline for the client call.
|
inline |
EXPERIMENTAL debugging API.
if status is not ok() for an RPC, this will return a detailed string of the gRPC Core error that led to the failure. It should not be relied upon for anything other than gaining more debug data in failure cases.
|
static |
Create a new ClientContext as a child of an incoming server call, according to options (.
server_context | The source server context to use as the basis for constructing the client context. |
options | The options controlling what to copy from the server_context. |
|
inline |
Return a collection of initial metadata key-value pairs.
Note that keys may happen more than once (ie, a std::multimap is returned).
|
inline |
Return a collection of trailing metadata key-value pairs.
Note that keys may happen more than once (ie, a std::multimap is returned).
grpc::string grpc::ClientContext::peer | ( | ) | const |
Return the peer uri in a string.
|
inline |
Return a gpr_timespec representation of the client call's deadline.
|
inline |
Set the per call authority header (see https://tools.ietf.org/html/rfc7540#section-8.1.2.3).
|
inline |
EXPERIMENTAL: Set this request to be cacheable.
If set, grpc is free to use the HTTP GET verb for sending the request, with the possibility of receiving a cached response.
|
inline |
Get and set census context.
void grpc::ClientContext::set_compression_algorithm | ( | grpc_compression_algorithm | algorithm | ) |
Set algorithm to be the compression algorithm used for the client call.
algorithm | The compression algorithm used for the client call. |
|
inline |
Set credentials for the client call.
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.
|
inline |
Set the deadline for the client call.
deadline | the deadline for the client call. Units are determined by the type used. |
|
inline |
DEPRECATED: Use set_wait_for_ready() instead.
|
inline |
EXPERIMENTAL: Indicate that this request is idempotent.
By default, RPCs are assumed to not be idempotent.
If true, the gRPC library assumes that it's safe to initiate this RPC multiple times.
|
inline |
Flag whether the initial metadata should be corked.
If corked is true, then the initial metadata will be coalesced with the write of first message in the stream. As a result, any tag set for the initial metadata operation (starting a client-streaming or bidi-streaming RPC) will not actually be sent to the completion queue or delivered via Next.
corked | The flag indicating whether the initial metadata is to be corked or not. |
|
inline |
EXPERIMENTAL: Trigger wait-for-ready or not on this request.
See https://github.com/grpc/grpc/blob/master/doc/wait-for-ready.md. If set, if an RPC is made when a channel's connectivity state is TRANSIENT_FAILURE or CONNECTING, the call will not "fail fast", and the channel will wait until the channel is READY before making the call.
|
static |
void grpc::ClientContext::TryCancel | ( | ) |
Send a best-effort out-of-band cancel on the call associated with this client context.
The call could be in any stage; e.g., if it is already finished, it may still return success.
There is no guarantee the call will be cancelled.
Note that TryCancel() does not change any of the tags that are pending on the completion queue. All pending tags will still be delivered (though their ok result may reflect the effect of cancellation).
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |