@ -106,58 +106,66 @@ typedef struct {
by grpc_arg ; keys are strings to allow easy backwards - compatible extension
by arbitrary parties .
All evaluation is performed at channel creation time ( i . e . the values in
this structure need only live through the creation invocation ) . */
this structure need only live through the creation invocation ) .
See the description of the \ ref grpc_arg_keys " available args " for more
details . */
typedef struct {
size_t num_args ;
grpc_arg * args ;
} grpc_channel_args ;
/* Channel argument keys: */
/** Enable census for tracing and stats collection */
/** \defgroup grpc_arg_keys
* Channel argument keys .
* \ {
*/
/** If non-zero, enable census for tracing and stats collection. */
# define GRPC_ARG_ENABLE_CENSUS "grpc.census"
/** Enable load reporting */
/** If non-zero, enable load reporting. */
# define GRPC_ARG_ENABLE_LOAD_REPORTING "grpc.loadreporting"
/** Maximum number of concurrent incoming streams to allow on a http2
connection */
connection . Int valued . */
# define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
/** Maximum message length that the channel can receive */
/** Maximum message length that the channel can receive. Int valued, bytes. */
# define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"
/** Initial sequence number for http2 transports */
/** Initial sequence number for http2 transports. Int valued. */
# define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
" grpc.http2.initial_sequence_number "
/** 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 . */
will become a no - op . Int valued , bytes . */
# define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes"
/** How much memory to use for hpack decoding */
/** How much memory to use for hpack decoding. Int valued, bytes. */
# define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \
" grpc.http2.hpack_table_size.decoder "
/** How much memory to use for hpack encoding */
/** How much memory to use for hpack encoding. Int valued, bytes. */
# define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \
" grpc.http2.hpack_table_size.encoder "
/** Default authority to pass if none specified on call construction */
/** Default authority to pass if none specified on call construction. A string.
* */
# define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
/** Primary user agent: goes at the start of the user-agent metadata
sent on each request */
sent on each request . A string . */
# define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
/** Secondary user agent: goes at the end of the user-agent metadata
sent on each request */
sent on each request . A string . */
# define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
/** The maximum time between subsequent connection attempts, in ms */
# define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms"
/* 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 . This * should * be used for testing only .
type \ a GRPC_ARG_STRING . This * should * be used for testing only .
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 . */
# define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
/* Maximum metadata size */
/* Maximum metadata size, in bytes. */
# define GRPC_ARG_MAX_METADATA_SIZE "grpc.max_metadata_size"
/** If non-zero, allow the use of SO_REUSEPORT if it's available (default 1) */
# define GRPC_ARG_ALLOW_REUSEPORT "grpc.so_reuseport"
/** \} */
/** Result of a grpc call. If the caller satisfies the prerequisites of a
particular operation , the grpc_call_error returned will be GRPC_CALL_OK .