GRPC Core  3.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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. 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 chennel reaches its max age. More...
 
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
 Initial sequence number 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_TIME_BETWEEN_PINGS_MS   "grpc.http2.min_time_between_pings_ms"
 Minimum time (in milliseconds) between successive ping frames being sent. 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 frame or header 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_MIN_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_ping_interval_without_data_ms"
 Minimum allowed time between two pings without sending any data frame. 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_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_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
 
#define GRPC_ARG_MAX_METADATA_SIZE   "grpc.max_metadata_size"
 
#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 (use grpc_resource_quota_arg_vtable to fetch an appropriate pointer arg vtable) 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_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_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"
 
#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192
 
#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"
 

Detailed Description

Channel argument keys.

To be used in channel arguments.

Macro Definition Documentation

#define GRPC_ARG_ALLOW_REUSEPORT   "grpc.so_reuseport"

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

#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"

Default authority to pass if none specified on call construction.

A string.

#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"

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

#define GRPC_ARG_ENABLE_LOAD_REPORTING   "grpc.loadreporting"

If non-zero, enable load reporting.

#define GRPC_ARG_EXPAND_WILDCARD_ADDRS   "grpc.expand_wildcard_addrs"

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

#define GRPC_ARG_HTTP2_BDP_PROBE   "grpc.http2.bdp_probe"

Should BDP probing be performed?

#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)

#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.

#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.

#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"

Initial sequence number for http2 transports.

Int valued.

#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.

#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)

#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 frame or header frame? (0 indicates that an infinite number of pings can be sent without sending a data frame or header frame)

#define GRPC_ARG_HTTP2_MIN_PING_INTERVAL_WITHOUT_DATA_MS   "grpc.http2.min_ping_interval_without_data_ms"

Minimum allowed time between two pings without sending any data frame.

Int valued, seconds

#define GRPC_ARG_HTTP2_MIN_TIME_BETWEEN_PINGS_MS   "grpc.http2.min_time_between_pings_ms"

Minimum time (in milliseconds) between successive ping frames being sent.

#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.

#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.

#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS   "grpc.initial_reconnect_backoff_ms"

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

#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).

#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.

#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.

#define GRPC_ARG_LB_POLICY_NAME   "grpc.lb_policy_name"

LB policy name.

#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"

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

Int valued.

#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS   "grpc.max_connection_age_grace_ms"

Grace period after the chennel reaches its max age.

Int valued, milliseconds. INT_MAX means unlimited.

#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.

#define GRPC_ARG_MAX_CONNECTION_IDLE_MS   "grpc.max_connection_idle_ms"

Maximum time that a channel may have no outstanding rpcs.

Int valued, milliseconds. INT_MAX means unlimited.

#define GRPC_ARG_MAX_MESSAGE_LENGTH   GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH
Deprecated:
For backward compatibility.
#define GRPC_ARG_MAX_METADATA_SIZE   "grpc.max_metadata_size"
#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.

#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS   "grpc.max_reconnect_backoff_ms"

The maximum time between subsequent connection attempts, in ms.

#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.

#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.

#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.

#define GRPC_ARG_RESOURCE_QUOTA   "grpc.resource_quota"

If non-zero, a pointer to a buffer pool (use grpc_resource_quota_arg_vtable to fetch an appropriate pointer arg vtable)

#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.

#define GRPC_ARG_SERVICE_CONFIG   "grpc.service_config"

Service config data in JSON form.

Not intended for use outside of tests.

#define GRPC_ARG_SOCKET_FACTORY   "grpc.socket_factory"

The grpc_socket_factory instance to create and bind sockets.

A pointer.

#define GRPC_ARG_SOCKET_MUTATOR   "grpc.socket_mutator"

The grpc_socket_mutator instance that set the socket options.

A pointer.

#define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE   "grpc.experimental.tcp_max_read_chunk_size"
#define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE   "grpc.experimental.tcp_min_read_chunk_size"
#define GRPC_ARG_TCP_READ_CHUNK_SIZE   "grpc.experimental.tcp_read_chunk_size"
#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.

#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.

#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.

#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).

#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192