The configuration parameters for client connections.
Constructors
ConnectionOptions()
The default options, using grpc::GoogleDefaultCredentials()
.
ConnectionOptions(std::shared_ptr< grpc::ChannelCredentials >)
The default options, using an explicit credentials object.
Parameter | |
---|---|
Name | Description |
credentials |
std::
|
Functions
set_credentials(std::shared_ptr< grpc::ChannelCredentials >)
Change the gRPC credentials value.
Parameter | |
---|---|
Name | Description |
v |
std::
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
credentials() const
The gRPC credentials used by clients configured with this object.
Returns | |
---|---|
Type | Description |
std::shared_ptr< grpc::ChannelCredentials > |
set_endpoint(std::string)
Change the gRPC endpoint.
In almost all cases the default is the correct endpoint to use. Applications may need to be changed to (1) test against a fake or simulator, or (2) to use a beta or EAP version of the service.
The default value is set by ConnectionTraits::default_endpoint()
.
Parameter | |
---|---|
Name | Description |
v |
std::string
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
endpoint() const
The endpoint used by clients configured with this object.
Returns | |
---|---|
Type | Description |
std::string const & |
num_channels() const
The number of transport channels to create.
Some transports limit the number of simultaneous calls in progress on a channel (for gRPC the limit is 100). Increasing the number of channels thus increases the number of operations that can be in progress in parallel.
The default value is set by ConnectionTraits::default_num_channels()
.
Returns | |
---|---|
Type | Description |
int |
set_num_channels(int)
Set the value for num_channels()
.
Parameter | |
---|---|
Name | Description |
num_channels |
int
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
tracing_enabled(std::string const &) const
Return whether tracing is enabled for the given component
.
The C++ clients can log interesting events to help library and application developers troubleshoot problems. This flag returns true if tracing should be enabled by clients configured with this option.
Parameter | |
---|---|
Name | Description |
component |
std::string const &
|
Returns | |
---|---|
Type | Description |
bool |
enable_tracing(std::string const &)
Enable tracing for component
in clients configured with this object.
Parameter | |
---|---|
Name | Description |
component |
std::string const &
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
disable_tracing(std::string const &)
Disable tracing for component
in clients configured with this object.
Parameter | |
---|---|
Name | Description |
component |
std::string const &
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
components() const
Return the set of tracing components.
Returns | |
---|---|
Type | Description |
std::set< std::string > const & |
tracing_options() const
Return the options for use when tracing RPCs.
Returns | |
---|---|
Type | Description |
TracingOptions const & |
channel_pool_domain() const
Define the gRPC channel domain for clients configured with this object.
In some cases applications may want to use a separate gRPC connections for different clients. gRPC may share the connection used by separate channels created with the same configuration. The client objects created with this object will create gRPC channels configured with grpc.channel_pooling_domain
set to the value returned by channel_pool_domain()
. gRPC channels with different values for grpc.channel_pooling_domain
are guaranteed to use different connections. Note that there is no guarantee that channels with the same value will have the same connection though.
This option might be useful for applications that want to segregate traffic for whatever reason.
Returns | |
---|---|
Type | Description |
std::string const & |
set_channel_pool_domain(std::string)
Set the value for channel_pool_domain()
.
Parameter | |
---|---|
Name | Description |
v |
std::string
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
add_user_agent_prefix(std::string)
Prepend prefix
to the user-agent string.
Libraries or services that use Cloud C++ clients may want to set their own user-agent prefix. This can help them develop telemetry information about number of users running particular versions of their system or library.
Parameter | |
---|---|
Name | Description |
prefix |
std::string
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
user_agent_prefix() const
Return the current value for the user agent string.
Returns | |
---|---|
Type | Description |
std::string const & |
CreateChannelArguments() const
Create a new grpc::ChannelArguments
configured with the options in this object.
The caller would typically pass this argument to grpc::CreateCustomChannel
and create one more more gRPC channels.
Returns | |
---|---|
Type | Description |
grpc::ChannelArguments |
set_background_thread_pool_size(std::size_t)
Set the number of background threads.
Parameter | |
---|---|
Name | Description |
s |
std::size_t
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
background_thread_pool_size() const
Returns | |
---|---|
Type | Description |
std::size_t |
DisableBackgroundThreads(google::cloud::CompletionQueue const &)
Configure the connection to use cq
for all background work.
Connections need to perform background work on behalf of the application. Normally they just create a background thread and a CompletionQueue
for this work, but the application may need more fine-grained control of their threads. In this case the application can provide the CompletionQueue
and it assumes responsibility for creating one or more threads blocked on CompletionQueue::Run()
.
Parameter | |
---|---|
Name | Description |
cq |
google::cloud::CompletionQueue const &
|
Returns | |
---|---|
Type | Description |
ConnectionOptions & |
background_threads_factory() const
Returns | |
---|---|
Type | Description |
BackgroundThreadsFactory |
Type Aliases
BackgroundThreadsFactory
::google::cloud::BackgroundThreadsFactory