GRPC C++  1.30.0
Macros
Grpc_arg_keys

Channel argument keys. More...

Macros

#define GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM   "grpc.default_compression_algorithm"
 Default compression algorithm for the channel. More...
 
#define GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL   "grpc.default_compression_level"
 Default compression level for the channel. More...
 
#define GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET   "grpc.compression_enabled_algorithms_bitset"
 Compression algorithms supported by the channel. More...
 
#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"
 If non-zero, enable census for tracing and stats collection. More...
 
#define GRPC_ARG_ENABLE_LOAD_REPORTING   "grpc.loadreporting"
 If non-zero, enable load reporting. More...
 
#define GRPC_ARG_MINIMAL_STACK   "grpc.minimal_stack"
 Request that optional features default to off (regardless of what they usually default to) - to enable tight control over what gets enabled. More...
 
#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"
 Maximum number of concurrent incoming streams to allow on a http2 connection. More...
 
#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH   "grpc.max_receive_message_length"
 Maximum message length that the channel can receive. More...
 
#define GRPC_ARG_MAX_MESSAGE_LENGTH   GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH
 
#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH   "grpc.max_send_message_length"
 Maximum message length that the channel can send. More...
 
#define GRPC_ARG_MAX_CONNECTION_IDLE_MS   "grpc.max_connection_idle_ms"
 Maximum time that a channel may have no outstanding rpcs, after which the server will close the connection. More...
 
#define GRPC_ARG_MAX_CONNECTION_AGE_MS   "grpc.max_connection_age_ms"
 Maximum time that a channel may exist. More...
 
#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS   "grpc.max_connection_age_grace_ms"
 Grace period after the channel reaches its max age. More...
 
#define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS   "grpc.client_idle_timeout_ms"
 Timeout after the last RPC finishes on the client channel at which the channel goes back into IDLE state. More...
 
#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION   "grpc.per_message_compression"
 Enable/disable support for per-message compression. More...
 
#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION   "grpc.per_message_decompression"
 Experimental Arg. More...
 
#define GRPC_ARG_ENABLE_DEADLINE_CHECKS   "grpc.enable_deadline_checking"
 Enable/disable support for deadline checking. More...
 
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
 Initial stream ID for http2 transports. More...
 
#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES   "grpc.http2.lookahead_bytes"
 Amount to read ahead on individual streams. More...
 
#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER   "grpc.http2.hpack_table_size.decoder"
 How much memory to use for hpack decoding. More...
 
#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER   "grpc.http2.hpack_table_size.encoder"
 How much memory to use for hpack encoding. More...
 
#define GRPC_ARG_HTTP2_MAX_FRAME_SIZE   "grpc.http2.max_frame_size"
 How big a frame are we willing to receive via HTTP2. More...
 
#define GRPC_ARG_HTTP2_BDP_PROBE   "grpc.http2.bdp_probe"
 Should BDP probing be performed? More...
 
#define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_time_between_pings_ms"
 Minimum time between sending successive ping frames without receiving any data/header/window_update frame, Int valued, milliseconds. More...
 
#define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_ping_interval_without_data_ms"
 Minimum allowed time between a server receiving successive ping frames without sending any data/header/window_update frame. More...
 
#define GRPC_ARG_HTTP2_SCHEME   "grpc.http2_scheme"
 Channel arg to override the http2 :scheme header. More...
 
#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA   "grpc.http2.max_pings_without_data"
 How many pings can we send before needing to send a data/header/window_update frame? (0 indicates that an infinite number of pings can be sent without sending a data frame or header frame) More...
 
#define GRPC_ARG_HTTP2_MAX_PING_STRIKES   "grpc.http2.max_ping_strikes"
 How many misbehaving pings the server can bear before sending goaway and closing the transport? (0 indicates that the server can bear an infinite number of misbehaving pings) More...
 
#define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE   "grpc.http2.write_buffer_size"
 How much data are we willing to queue up per stream if GRPC_WRITE_BUFFER_HINT is set? This is an upper bound. More...
 
#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY   "grpc.http2.true_binary"
 Should we allow receipt of true-binary data on http2 connections? Defaults to on (1) More...
 
#define GRPC_ARG_KEEPALIVE_TIME_MS   "grpc.keepalive_time_ms"
 After a duration of this time the client/server pings its peer to see if the transport is still alive. More...
 
#define GRPC_ARG_KEEPALIVE_TIMEOUT_MS   "grpc.keepalive_timeout_ms"
 After waiting for a duration of this time, if the keepalive ping sender does not receive the ping ack, it will close the transport. More...
 
#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS   "grpc.keepalive_permit_without_calls"
 Is it permissible to send keepalive pings without any outstanding streams. More...
 
#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"
 Default authority to pass if none specified on call construction. More...
 
#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"
 Primary user agent: goes at the start of the user-agent metadata sent on each request. More...
 
#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"
 Secondary user agent: goes at the end of the user-agent metadata sent on each request. More...
 
#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS   "grpc.min_reconnect_backoff_ms"
 The minimum time between subsequent connection attempts, in ms. More...
 
#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS   "grpc.max_reconnect_backoff_ms"
 The maximum time between subsequent connection attempts, in ms. More...
 
#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS   "grpc.initial_reconnect_backoff_ms"
 The time between the first and second connection attempts, in ms. More...
 
#define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS   "grpc.dns_min_time_between_resolutions_ms"
 Minimum amount of time between DNS resolutions, in ms. More...
 
#define GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS   "grpc.server_handshake_timeout_ms"
 The timeout used on servers for finishing handshaking on an incoming connection. More...
 
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
 This should be used for testing only. More...
 
#define GRPC_SSL_SESSION_CACHE_ARG   "grpc.ssl_session_cache"
 If non-zero, a pointer to a session cache (a pointer of type grpc_ssl_session_cache*). More...
 
#define GRPC_ARG_TSI_MAX_FRAME_SIZE   "grpc.tsi.max_frame_size"
 If non-zero, it will determine the maximum frame size used by TSI's frame protector. More...
 
#define GRPC_ARG_MAX_METADATA_SIZE   "grpc.max_metadata_size"
 Maximum metadata size, in bytes. More...
 
#define GRPC_ARG_ALLOW_REUSEPORT   "grpc.so_reuseport"
 If non-zero, allow the use of SO_REUSEPORT if it's available (default 1) More...
 
#define GRPC_ARG_RESOURCE_QUOTA   "grpc.resource_quota"
 If non-zero, a pointer to a buffer pool (a pointer of type grpc_resource_quota*). More...
 
#define GRPC_ARG_EXPAND_WILDCARD_ADDRS   "grpc.expand_wildcard_addrs"
 If non-zero, expand wildcard addresses to a list of local addresses. More...
 
#define GRPC_ARG_SERVICE_CONFIG   "grpc.service_config"
 Service config data in JSON form. More...
 
#define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION   "grpc.service_config_disable_resolution"
 Disable looking up the service config via the name resolver. More...
 
#define GRPC_ARG_LB_POLICY_NAME   "grpc.lb_policy_name"
 LB policy name. More...
 
#define GRPC_ARG_SOCKET_MUTATOR   "grpc.socket_mutator"
 The grpc_socket_mutator instance that set the socket options. More...
 
#define GRPC_ARG_SOCKET_FACTORY   "grpc.socket_factory"
 The grpc_socket_factory instance to create and bind sockets. More...
 
#define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE   "grpc.max_channel_trace_event_memory_per_node"
 The maximum amount of memory used by trace events per channel trace node. More...
 
#define GRPC_ARG_ENABLE_CHANNELZ   "grpc.enable_channelz"
 If non-zero, gRPC library will track stats and information at at per channel level. More...
 
#define GRPC_ARG_USE_CRONET_PACKET_COALESCING   "grpc.use_cronet_packet_coalescing"
 If non-zero, Cronet transport will coalesce packets to fewer frames when possible. More...
 
#define GRPC_ARG_TCP_READ_CHUNK_SIZE   "grpc.experimental.tcp_read_chunk_size"
 Channel arg (integer) setting how large a slice to try and read from the wire each time recvmsg (or equivalent) is called. More...
 
#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192
 Note this is not a "channel arg" key. More...
 
#define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE   "grpc.experimental.tcp_min_read_chunk_size"
 
#define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE   "grpc.experimental.tcp_max_read_chunk_size"
 
#define GRPC_ARG_TCP_TX_ZEROCOPY_ENABLED   "grpc.experimental.tcp_tx_zerocopy_enabled"
 
#define GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD   "grpc.experimental.tcp_tx_zerocopy_send_bytes_threshold"
 
#define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS   "grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends"
 
#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS   "grpc.grpclb_call_timeout_ms"
 
#define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS   "grpc.grpclb_fallback_timeout_ms"
 
#define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS   "grpc.priority_failover_timeout_ms"
 
#define GRPC_ARG_XDS_RESOURCE_DOES_NOT_EXIST_TIMEOUT_MS   "grpc.xds_resource_does_not_exist_timeout_ms"
 
#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION   "grpc.workaround.cronet_compression"
 If non-zero, grpc server's cronet compression workaround will be enabled. More...
 
#define GRPC_ARG_OPTIMIZATION_TARGET   "grpc.optimization_target"
 String defining the optimization target for a channel. More...
 
#define GRPC_ARG_ENABLE_RETRIES   "grpc.enable_retries"
 If set to zero, disables retry behavior. More...
 
#define GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE   "grpc.per_rpc_retry_buffer_size"
 Per-RPC retry buffer size, in bytes. More...
 
#define GRPC_ARG_MOBILE_LOG_CONTEXT   "grpc.mobile_log_context"
 Channel arg that carries the bridged objective c object for custom metrics logging filter. More...
 
#define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER   "grpc.disable_client_authority_filter"
 If non-zero, client authority filter is disabled for the channel. More...
 
#define GRPC_ARG_ENABLE_HTTP_PROXY   "grpc.enable_http_proxy"
 If set to zero, disables use of http proxies. More...
 
#define GRPC_ARG_HTTP_PROXY   "grpc.http_proxy"
 Channel arg to set http proxy per channel. More...
 
#define GRPC_ARG_SURFACE_USER_AGENT   "grpc.surface_user_agent"
 If set to non zero, surfaces the user agent string to the server. More...
 
#define GRPC_ARG_INHIBIT_HEALTH_CHECKING   "grpc.inhibit_health_checking"
 If set, inhibits health checking (which may be enabled via the service config.) More...
 
#define GRPC_ARG_DNS_ENABLE_SRV_QUERIES   "grpc.dns_enable_srv_queries"
 If set, the channel's resolver is allowed to query for SRV records. More...
 
#define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS   "grpc.dns_ares_query_timeout"
 If set, determines an upper bound on the number of milliseconds that the c-ares based DNS resolver will wait on queries before cancelling them. More...
 
#define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL   "grpc.use_local_subchannel_pool"
 If set, uses a local subchannel pool within the channel. More...
 
#define GRPC_ARG_CHANNEL_POOL_DOMAIN   "grpc.channel_pooling_domain"
 gRPC Objective-C channel pooling domain string. More...
 
#define GRPC_ARG_CHANNEL_ID   "grpc.channel_id"
 gRPC Objective-C channel pooling id. More...
 

Detailed Description

Channel argument keys.

To be used in channel arguments.

Macro Definition Documentation

◆ GRPC_ARG_ALLOW_REUSEPORT

#define GRPC_ARG_ALLOW_REUSEPORT   "grpc.so_reuseport"

If non-zero, allow the use of SO_REUSEPORT if it's available (default 1)

◆ GRPC_ARG_CHANNEL_ID

#define GRPC_ARG_CHANNEL_ID   "grpc.channel_id"

gRPC Objective-C channel pooling id.

◆ GRPC_ARG_CHANNEL_POOL_DOMAIN

#define GRPC_ARG_CHANNEL_POOL_DOMAIN   "grpc.channel_pooling_domain"

gRPC Objective-C channel pooling domain string.

◆ GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS

#define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS   "grpc.client_idle_timeout_ms"

Timeout after the last RPC finishes on the client channel at which the channel goes back into IDLE state.

Int valued, milliseconds. INT_MAX means unlimited. The default value is 30 minutes and the min value is 1 second.

◆ GRPC_ARG_DEFAULT_AUTHORITY

#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"

Default authority to pass if none specified on call construction.

A string.

◆ GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER

#define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER   "grpc.disable_client_authority_filter"

If non-zero, client authority filter is disabled for the channel.

◆ GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS

#define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS   "grpc.dns_ares_query_timeout"

If set, determines an upper bound on the number of milliseconds that the c-ares based DNS resolver will wait on queries before cancelling them.

The default value is 120,000. Setting this to "0" will disable the overall timeout entirely. Note that this doesn't include internal c-ares timeouts/backoff/retry logic, and so the actual DNS resolution may time out sooner than the value specified here.

◆ GRPC_ARG_DNS_ENABLE_SRV_QUERIES

#define GRPC_ARG_DNS_ENABLE_SRV_QUERIES   "grpc.dns_enable_srv_queries"

If set, the channel's resolver is allowed to query for SRV records.

For example, this is useful as a way to enable the "grpclb" load balancing policy. Note that this only works with the "ares" DNS resolver, and isn't supported by the "native" DNS resolver.

◆ GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS

#define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS   "grpc.dns_min_time_between_resolutions_ms"

Minimum amount of time between DNS resolutions, in ms.

◆ GRPC_ARG_ENABLE_CENSUS

#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"

If non-zero, enable census for tracing and stats collection.

◆ GRPC_ARG_ENABLE_CHANNELZ

#define GRPC_ARG_ENABLE_CHANNELZ   "grpc.enable_channelz"

If non-zero, gRPC library will track stats and information at at per channel level.

Disabling channelz naturally disables channel tracing. The default is for channelz to be enabled.

◆ GRPC_ARG_ENABLE_DEADLINE_CHECKS

#define GRPC_ARG_ENABLE_DEADLINE_CHECKS   "grpc.enable_deadline_checking"

Enable/disable support for deadline checking.

Defaults to 1, unless GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0

◆ GRPC_ARG_ENABLE_HTTP_PROXY

#define GRPC_ARG_ENABLE_HTTP_PROXY   "grpc.enable_http_proxy"

If set to zero, disables use of http proxies.

Enabled by default.

◆ GRPC_ARG_ENABLE_LOAD_REPORTING

#define GRPC_ARG_ENABLE_LOAD_REPORTING   "grpc.loadreporting"

If non-zero, enable load reporting.

◆ GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION

#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION   "grpc.per_message_compression"

Enable/disable support for per-message compression.

Defaults to 1, unless GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0.

◆ GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION

#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION   "grpc.per_message_decompression"

Experimental Arg.

Enable/disable support for per-message decompression. Defaults to 1. If disabled, decompression will not be performed and the application will see the compressed message in the byte buffer.

◆ GRPC_ARG_ENABLE_RETRIES

#define GRPC_ARG_ENABLE_RETRIES   "grpc.enable_retries"

If set to zero, disables retry behavior.

Otherwise, transparent retries are enabled for all RPCs, and configurable retries are enabled when they are configured via the service config. For details, see: https://github.com/grpc/proposal/blob/master/A6-client-retries.md

◆ GRPC_ARG_EXPAND_WILDCARD_ADDRS

#define GRPC_ARG_EXPAND_WILDCARD_ADDRS   "grpc.expand_wildcard_addrs"

If non-zero, expand wildcard addresses to a list of local addresses.

◆ GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS

#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS   "grpc.grpclb_call_timeout_ms"

◆ GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS

#define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS   "grpc.grpclb_fallback_timeout_ms"

◆ GRPC_ARG_HTTP2_BDP_PROBE

#define GRPC_ARG_HTTP2_BDP_PROBE   "grpc.http2.bdp_probe"

Should BDP probing be performed?

◆ GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY

#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY   "grpc.http2.true_binary"

Should we allow receipt of true-binary data on http2 connections? Defaults to on (1)

◆ GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER

#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER   "grpc.http2.hpack_table_size.decoder"

How much memory to use for hpack decoding.

Int valued, bytes.

◆ GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER

#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER   "grpc.http2.hpack_table_size.encoder"

How much memory to use for hpack encoding.

Int valued, bytes.

◆ GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER

#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"

Initial stream ID for http2 transports.

Int valued.

◆ GRPC_ARG_HTTP2_MAX_FRAME_SIZE

#define GRPC_ARG_HTTP2_MAX_FRAME_SIZE   "grpc.http2.max_frame_size"

How big a frame are we willing to receive via HTTP2.

Min 16384, max 16777215. Larger values give lower CPU usage for large messages, but more head of line blocking for small messages.

◆ GRPC_ARG_HTTP2_MAX_PING_STRIKES

#define GRPC_ARG_HTTP2_MAX_PING_STRIKES   "grpc.http2.max_ping_strikes"

How many misbehaving pings the server can bear before sending goaway and closing the transport? (0 indicates that the server can bear an infinite number of misbehaving pings)

◆ GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA

#define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA   "grpc.http2.max_pings_without_data"

How many pings can we send before needing to send a data/header/window_update frame? (0 indicates that an infinite number of pings can be sent without sending a data frame or header frame)

◆ GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS

#define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_ping_interval_without_data_ms"

Minimum allowed time between a server receiving successive ping frames without sending any data/header/window_update frame.

Int valued, milliseconds

◆ GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS

#define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_time_between_pings_ms"

Minimum time between sending successive ping frames without receiving any data/header/window_update frame, Int valued, milliseconds.

◆ GRPC_ARG_HTTP2_SCHEME

#define GRPC_ARG_HTTP2_SCHEME   "grpc.http2_scheme"

Channel arg to override the http2 :scheme header.

◆ GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES

#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES   "grpc.http2.lookahead_bytes"

Amount to read ahead on individual streams.

Defaults to 64kb, larger values can help throughput on high-latency connections. NOTE: at some point we'd like to auto-tune this, and this parameter will become a no-op. Int valued, bytes.

◆ GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE

#define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE   "grpc.http2.write_buffer_size"

How much data are we willing to queue up per stream if GRPC_WRITE_BUFFER_HINT is set? This is an upper bound.

◆ GRPC_ARG_HTTP_PROXY

#define GRPC_ARG_HTTP_PROXY   "grpc.http_proxy"

Channel arg to set http proxy per channel.

If set, the channel arg value will be prefered over the envrionment variable settings.

◆ GRPC_ARG_INHIBIT_HEALTH_CHECKING

#define GRPC_ARG_INHIBIT_HEALTH_CHECKING   "grpc.inhibit_health_checking"

If set, inhibits health checking (which may be enabled via the service config.)

◆ GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS

#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS   "grpc.initial_reconnect_backoff_ms"

The time between the first and second connection attempts, in ms.

◆ GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS

#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS   "grpc.keepalive_permit_without_calls"

Is it permissible to send keepalive pings without any outstanding streams.

Int valued, 0(false)/1(true).

◆ GRPC_ARG_KEEPALIVE_TIME_MS

#define GRPC_ARG_KEEPALIVE_TIME_MS   "grpc.keepalive_time_ms"

After a duration of this time the client/server pings its peer to see if the transport is still alive.

Int valued, milliseconds.

◆ GRPC_ARG_KEEPALIVE_TIMEOUT_MS

#define GRPC_ARG_KEEPALIVE_TIMEOUT_MS   "grpc.keepalive_timeout_ms"

After waiting for a duration of this time, if the keepalive ping sender does not receive the ping ack, it will close the transport.

Int valued, milliseconds.

◆ GRPC_ARG_LB_POLICY_NAME

#define GRPC_ARG_LB_POLICY_NAME   "grpc.lb_policy_name"

LB policy name.

◆ GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE

#define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE   "grpc.max_channel_trace_event_memory_per_node"

The maximum amount of memory used by trace events per channel trace node.

Once the maximum is reached, subsequent events will evict the oldest events from the buffer. The unit for this knob is bytes. Setting it to zero causes channel tracing to be disabled.

◆ GRPC_ARG_MAX_CONCURRENT_STREAMS

#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"

Maximum number of concurrent incoming streams to allow on a http2 connection.

Int valued.

◆ GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS

#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS   "grpc.max_connection_age_grace_ms"

Grace period after the channel reaches its max age.

Int valued, milliseconds. INT_MAX means unlimited.

◆ GRPC_ARG_MAX_CONNECTION_AGE_MS

#define GRPC_ARG_MAX_CONNECTION_AGE_MS   "grpc.max_connection_age_ms"

Maximum time that a channel may exist.

Int valued, milliseconds. INT_MAX means unlimited.

◆ GRPC_ARG_MAX_CONNECTION_IDLE_MS

#define GRPC_ARG_MAX_CONNECTION_IDLE_MS   "grpc.max_connection_idle_ms"

Maximum time that a channel may have no outstanding rpcs, after which the server will close the connection.

Int valued, milliseconds. INT_MAX means unlimited.

◆ GRPC_ARG_MAX_MESSAGE_LENGTH

#define GRPC_ARG_MAX_MESSAGE_LENGTH   GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH
Deprecated:
For backward compatibility.

Use GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH instead.

◆ GRPC_ARG_MAX_METADATA_SIZE

#define GRPC_ARG_MAX_METADATA_SIZE   "grpc.max_metadata_size"

Maximum metadata size, in bytes.

Note this limit applies to the max sum of all metadata key-value entries in a batch of headers.

◆ GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH

#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH   "grpc.max_receive_message_length"

Maximum message length that the channel can receive.

Int valued, bytes. -1 means unlimited.

◆ GRPC_ARG_MAX_RECONNECT_BACKOFF_MS

#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS   "grpc.max_reconnect_backoff_ms"

The maximum time between subsequent connection attempts, in ms.

◆ GRPC_ARG_MAX_SEND_MESSAGE_LENGTH

#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH   "grpc.max_send_message_length"

Maximum message length that the channel can send.

Int valued, bytes. -1 means unlimited.

◆ GRPC_ARG_MIN_RECONNECT_BACKOFF_MS

#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS   "grpc.min_reconnect_backoff_ms"

The minimum time between subsequent connection attempts, in ms.

◆ GRPC_ARG_MINIMAL_STACK

#define GRPC_ARG_MINIMAL_STACK   "grpc.minimal_stack"

Request that optional features default to off (regardless of what they usually default to) - to enable tight control over what gets enabled.

◆ GRPC_ARG_MOBILE_LOG_CONTEXT

#define GRPC_ARG_MOBILE_LOG_CONTEXT   "grpc.mobile_log_context"

Channel arg that carries the bridged objective c object for custom metrics logging filter.

◆ GRPC_ARG_OPTIMIZATION_TARGET

#define GRPC_ARG_OPTIMIZATION_TARGET   "grpc.optimization_target"

String defining the optimization target for a channel.

Can be: "latency" - attempt to minimize latency at the cost of throughput "blend" - try to balance latency and throughput "throughput" - attempt to maximize throughput at the expense of latency Defaults to "blend". In the current implementation "blend" is equivalent to "latency".

◆ GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE

#define GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE   "grpc.per_rpc_retry_buffer_size"

Per-RPC retry buffer size, in bytes.

Default is 256 KiB.

◆ GRPC_ARG_PRIMARY_USER_AGENT_STRING

#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"

Primary user agent: goes at the start of the user-agent metadata sent on each request.

A string.

◆ GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS

#define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS   "grpc.priority_failover_timeout_ms"

◆ GRPC_ARG_RESOURCE_QUOTA

#define GRPC_ARG_RESOURCE_QUOTA   "grpc.resource_quota"

If non-zero, a pointer to a buffer pool (a pointer of type grpc_resource_quota*).

(use grpc_resource_quota_arg_vtable() to fetch an appropriate pointer arg vtable)

◆ GRPC_ARG_SECONDARY_USER_AGENT_STRING

#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"

Secondary user agent: goes at the end of the user-agent metadata sent on each request.

A string.

◆ GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS

#define GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS   "grpc.server_handshake_timeout_ms"

The timeout used on servers for finishing handshaking on an incoming connection.

Defaults to 120 seconds.

◆ GRPC_ARG_SERVICE_CONFIG

#define GRPC_ARG_SERVICE_CONFIG   "grpc.service_config"

Service config data in JSON form.

This value will be ignored if the name resolver returns a service config.

◆ GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION

#define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION   "grpc.service_config_disable_resolution"

Disable looking up the service config via the name resolver.

◆ GRPC_ARG_SOCKET_FACTORY

#define GRPC_ARG_SOCKET_FACTORY   "grpc.socket_factory"

The grpc_socket_factory instance to create and bind sockets.

A pointer.

◆ GRPC_ARG_SOCKET_MUTATOR

#define GRPC_ARG_SOCKET_MUTATOR   "grpc.socket_mutator"

The grpc_socket_mutator instance that set the socket options.

A pointer.

◆ GRPC_ARG_SURFACE_USER_AGENT

#define GRPC_ARG_SURFACE_USER_AGENT   "grpc.surface_user_agent"

If set to non zero, surfaces the user agent string to the server.

User agent is surfaced by default.

◆ GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE

#define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE   "grpc.experimental.tcp_max_read_chunk_size"

◆ GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE

#define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE   "grpc.experimental.tcp_min_read_chunk_size"

◆ GRPC_ARG_TCP_READ_CHUNK_SIZE

#define GRPC_ARG_TCP_READ_CHUNK_SIZE   "grpc.experimental.tcp_read_chunk_size"

Channel arg (integer) setting how large a slice to try and read from the wire each time recvmsg (or equivalent) is called.

◆ GRPC_ARG_TCP_TX_ZEROCOPY_ENABLED

#define GRPC_ARG_TCP_TX_ZEROCOPY_ENABLED   "grpc.experimental.tcp_tx_zerocopy_enabled"

◆ GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS

#define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS   "grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends"

◆ GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD

#define GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD   "grpc.experimental.tcp_tx_zerocopy_send_bytes_threshold"

◆ GRPC_ARG_TSI_MAX_FRAME_SIZE

#define GRPC_ARG_TSI_MAX_FRAME_SIZE   "grpc.tsi.max_frame_size"

If non-zero, it will determine the maximum frame size used by TSI's frame protector.

NOTE: Be aware that using a large "max_frame_size" is memory inefficient for non-zerocopy protectors. Also, increasing this value above 1MiB can break old binaries that don't support larger than 1MiB frame size.

◆ GRPC_ARG_USE_CRONET_PACKET_COALESCING

#define GRPC_ARG_USE_CRONET_PACKET_COALESCING   "grpc.use_cronet_packet_coalescing"

If non-zero, Cronet transport will coalesce packets to fewer frames when possible.

◆ GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL

#define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL   "grpc.use_local_subchannel_pool"

If set, uses a local subchannel pool within the channel.

Otherwise, uses the global subchannel pool.

◆ GRPC_ARG_WORKAROUND_CRONET_COMPRESSION

#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION   "grpc.workaround.cronet_compression"

If non-zero, grpc server's cronet compression workaround will be enabled.

◆ GRPC_ARG_XDS_RESOURCE_DOES_NOT_EXIST_TIMEOUT_MS

#define GRPC_ARG_XDS_RESOURCE_DOES_NOT_EXIST_TIMEOUT_MS   "grpc.xds_resource_does_not_exist_timeout_ms"

◆ GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM

#define GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM   "grpc.default_compression_algorithm"

Default compression algorithm for the channel.

Its value is an int from the grpc_compression_algorithm enum.

◆ GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL

#define GRPC_COMPRESSION_CHANNEL_DEFAULT_LEVEL   "grpc.default_compression_level"

Default compression level for the channel.

Its value is an int from the grpc_compression_level enum.

◆ GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET

#define GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET   "grpc.compression_enabled_algorithms_bitset"

Compression algorithms supported by the channel.

Its value is a bitset (an int). Bits correspond to algorithms in grpc_compression_algorithm. For example, its LSB corresponds to GRPC_COMPRESS_NONE, the next bit to GRPC_COMPRESS_DEFLATE, etc. Unset bits disable support for the algorithm. By default all algorithms are supported. It's not possible to disable GRPC_COMPRESS_NONE (the attempt will be ignored).

◆ GRPC_SSL_SESSION_CACHE_ARG

#define GRPC_SSL_SESSION_CACHE_ARG   "grpc.ssl_session_cache"

If non-zero, a pointer to a session cache (a pointer of type grpc_ssl_session_cache*).

(use grpc_ssl_session_cache_arg_vtable() to fetch an appropriate pointer arg vtable)

◆ GRPC_SSL_TARGET_NAME_OVERRIDE_ARG

#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"

This should be used for testing only.

The caller of the secure_channel_create functions may override the target name used for SSL host name checking using this channel argument which is of type GRPC_ARG_STRING. If this argument is not specified, the name used for SSL host name checking will be the target parameter (assuming that the secure channel is an SSL channel). If this parameter is specified and the underlying is not an SSL channel, it will just be ignored.

◆ GRPC_TCP_DEFAULT_READ_SLICE_SIZE

#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192

Note this is not a "channel arg" key.

This is the default slice size to use when trying to read from the wire if the GRPC_ARG_TCP_READ_CHUNK_SIZE channel arg is unspecified.