diff --git a/BUILD b/BUILD index e360b0f6c5c..ea76364c90d 100644 --- a/BUILD +++ b/BUILD @@ -215,6 +215,7 @@ GRPC_PUBLIC_HDRS = [ "include/grpc/impl/codegen/slice.h", "include/grpc/impl/compression_types.h", "include/grpc/impl/connectivity_state.h", + "include/grpc/impl/grpc_types.h", ] GRPC_PUBLIC_EVENT_ENGINE_HDRS = [ diff --git a/CMakeLists.txt b/CMakeLists.txt index 2cf50e968bd..f939c03f708 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2488,6 +2488,7 @@ foreach(_hdr include/grpc/impl/codegen/sync_windows.h include/grpc/impl/compression_types.h include/grpc/impl/connectivity_state.h + include/grpc/impl/grpc_types.h include/grpc/load_reporting.h include/grpc/slice.h include/grpc/slice_buffer.h @@ -3094,6 +3095,7 @@ foreach(_hdr include/grpc/impl/codegen/sync_windows.h include/grpc/impl/compression_types.h include/grpc/impl/connectivity_state.h + include/grpc/impl/grpc_types.h include/grpc/load_reporting.h include/grpc/slice.h include/grpc/slice_buffer.h @@ -4572,6 +4574,7 @@ foreach(_hdr include/grpc/impl/codegen/sync_windows.h include/grpc/impl/compression_types.h include/grpc/impl/connectivity_state.h + include/grpc/impl/grpc_types.h include/grpc/load_reporting.h include/grpc/slice.h include/grpc/slice_buffer.h diff --git a/Makefile b/Makefile index 1e42f9f2906..f550497b07d 100644 --- a/Makefile +++ b/Makefile @@ -1712,6 +1712,7 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ + include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \ @@ -2178,6 +2179,7 @@ PUBLIC_HEADERS_C += \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ + include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \ diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index ae77f57f62b..968fe250347 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -294,6 +294,7 @@ libs: - include/grpc/impl/codegen/sync_windows.h - include/grpc/impl/compression_types.h - include/grpc/impl/connectivity_state.h + - include/grpc/impl/grpc_types.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h @@ -1888,6 +1889,7 @@ libs: - include/grpc/impl/codegen/sync_windows.h - include/grpc/impl/compression_types.h - include/grpc/impl/connectivity_state.h + - include/grpc/impl/grpc_types.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h @@ -3425,6 +3427,7 @@ libs: - include/grpc/impl/codegen/sync_windows.h - include/grpc/impl/compression_types.h - include/grpc/impl/connectivity_state.h + - include/grpc/impl/grpc_types.h - include/grpc/load_reporting.h - include/grpc/slice.h - include/grpc/slice_buffer.h diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index f9953080c4c..75cb45be903 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -145,6 +145,7 @@ Pod::Spec.new do |s| 'include/grpc/impl/codegen/sync_windows.h', 'include/grpc/impl/compression_types.h', 'include/grpc/impl/connectivity_state.h', + 'include/grpc/impl/grpc_types.h', 'include/grpc/load_reporting.h', 'include/grpc/slice.h', 'include/grpc/slice_buffer.h', diff --git a/grpc.gemspec b/grpc.gemspec index e7d14bfb13b..cdd1f80a5f0 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -88,6 +88,7 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/impl/codegen/sync_windows.h ) s.files += %w( include/grpc/impl/compression_types.h ) s.files += %w( include/grpc/impl/connectivity_state.h ) + s.files += %w( include/grpc/impl/grpc_types.h ) s.files += %w( include/grpc/load_reporting.h ) s.files += %w( include/grpc/slice.h ) s.files += %w( include/grpc/slice_buffer.h ) diff --git a/include/grpc/byte_buffer.h b/include/grpc/byte_buffer.h index f3455f63343..65b526496d5 100644 --- a/include/grpc/byte_buffer.h +++ b/include/grpc/byte_buffer.h @@ -21,7 +21,7 @@ #include -#include +#include #include #ifdef __cplusplus diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index 371f6085c2e..d0334a953cd 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -24,9 +24,9 @@ #include #include -#include // IWYU pragma: export #include #include // IWYU pragma: export +#include // IWYU pragma: export #include #include #include diff --git a/include/grpc/grpc_posix.h b/include/grpc/grpc_posix.h index 797e3c5bebd..a237cb36c7e 100644 --- a/include/grpc/grpc_posix.h +++ b/include/grpc/grpc_posix.h @@ -24,7 +24,7 @@ #include #include -#include +#include #ifdef __cplusplus extern "C" { diff --git a/include/grpc/impl/codegen/grpc_types.h b/include/grpc/impl/codegen/grpc_types.h index b681558e86c..14d185b5d7f 100644 --- a/include/grpc/impl/codegen/grpc_types.h +++ b/include/grpc/impl/codegen/grpc_types.h @@ -22,804 +22,9 @@ // IWYU pragma: private, include // IWYU pragma: friend "src/.*" -#include +#include -#include - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef enum { - GRPC_BB_RAW - /** Future types may include GRPC_BB_PROTOBUF, etc. */ -} grpc_byte_buffer_type; - -typedef struct grpc_byte_buffer { - void* reserved; - grpc_byte_buffer_type type; - union grpc_byte_buffer_data { - struct /* internal */ { - void* reserved[8]; - } reserved; - struct grpc_compressed_buffer { - grpc_compression_algorithm compression; - grpc_slice_buffer slice_buffer; - } raw; - } data; -} grpc_byte_buffer; - -/** Completion Queues enable notification of the completion of - * asynchronous actions. */ -typedef struct grpc_completion_queue grpc_completion_queue; - -/** The Channel interface allows creation of Call objects. */ -typedef struct grpc_channel grpc_channel; - -/** A server listens to some port and responds to request calls */ -typedef struct grpc_server grpc_server; - -/** A Call represents an RPC. When created, it is in a configuration state - allowing properties to be set until it is invoked. After invoke, the Call - can have messages written to it and read from it. */ -typedef struct grpc_call grpc_call; - -/** The Socket Mutator interface allows changes on socket options */ -typedef struct grpc_socket_mutator grpc_socket_mutator; - -/** The Socket Factory interface creates and binds sockets */ -typedef struct grpc_socket_factory grpc_socket_factory; - -/** Type specifier for grpc_arg */ -typedef enum { - GRPC_ARG_STRING, - GRPC_ARG_INTEGER, - GRPC_ARG_POINTER -} grpc_arg_type; - -typedef struct grpc_arg_pointer_vtable { - void* (*copy)(void* p); - void (*destroy)(void* p); - int (*cmp)(void* p, void* q); -} grpc_arg_pointer_vtable; - -/** A single argument... each argument has a key and a value - - A note on naming keys: - Keys are namespaced into groups, usually grouped by library, and are - keys for module XYZ are named XYZ.key1, XYZ.key2, etc. Module names must - be restricted to the regex [A-Za-z][_A-Za-z0-9]{,15}. - Key names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,47}. - - GRPC core library keys are prefixed by grpc. - - Library authors are strongly encouraged to \#define symbolic constants for - their keys so that it's possible to change them in the future. */ -typedef struct { - grpc_arg_type type; - char* key; - union grpc_arg_value { - char* string; - int integer; - struct grpc_arg_pointer { - void* p; - const grpc_arg_pointer_vtable* vtable; - } pointer; - } value; -} grpc_arg; - -/** An array of arguments that can be passed around. - - Used to set optional channel-level configuration. - These configuration options are modelled as key-value pairs as defined - 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 keys and values in this structure need only live through the - creation invocation). - - However, if one of the args has grpc_arg_type==GRPC_ARG_POINTER, then the - grpc_arg_pointer_vtable must live until the channel args are done being - used by core (i.e. when the object for use with which they were passed - is destroyed). - - 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; - -/** \defgroup grpc_arg_keys - * Channel argument keys. - * \{ - */ -/** If non-zero, enable census for tracing and stats collection. */ -#define GRPC_ARG_ENABLE_CENSUS "grpc.census" -/** If non-zero, enable load reporting. */ -#define GRPC_ARG_ENABLE_LOAD_REPORTING "grpc.loadreporting" -/** 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_MINIMAL_STACK "grpc.minimal_stack" -/** Maximum number of concurrent incoming streams to allow on a http2 - connection. Int valued. */ -#define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams" -/** Maximum message length that the channel can receive. Int valued, bytes. - -1 means unlimited. */ -#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH "grpc.max_receive_message_length" -/** \deprecated For backward compatibility. - * Use GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH instead. */ -#define GRPC_ARG_MAX_MESSAGE_LENGTH GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH -/** Maximum message length that the channel can send. Int valued, bytes. - -1 means unlimited. */ -#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH "grpc.max_send_message_length" -/** 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. */ -#define GRPC_ARG_MAX_CONNECTION_IDLE_MS "grpc.max_connection_idle_ms" -/** Maximum time that a channel may exist. Int valued, milliseconds. - * INT_MAX means unlimited. */ -#define GRPC_ARG_MAX_CONNECTION_AGE_MS "grpc.max_connection_age_ms" -/** Grace period after the channel reaches its max age. Int valued, - milliseconds. INT_MAX means unlimited. */ -#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS "grpc.max_connection_age_grace_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. */ -#define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS "grpc.client_idle_timeout_ms" -/** Enable/disable support for per-message compression. Defaults to 1, unless - GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0. */ -#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION "grpc.per_message_compression" -/** 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. */ -#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \ - "grpc.per_message_decompression" -/** Enable/disable support for deadline checking. Defaults to 1, unless - GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */ -#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking" -/** Initial stream ID 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. Int valued, bytes. */ -#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes" -/** 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. Int valued, bytes. */ -#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \ - "grpc.http2.hpack_table_size.encoder" -/** 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_FRAME_SIZE "grpc.http2.max_frame_size" -/** Should BDP probing be performed? */ -#define GRPC_ARG_HTTP2_BDP_PROBE "grpc.http2.bdp_probe" -/** (DEPRECATED) Does not have any effect. - Earlier, this arg configured the minimum time between successive ping frames - without receiving any data/header frame, Int valued, milliseconds. This put - unnecessary constraints on the configuration of keepalive pings, - requiring users to set this channel arg along with - GRPC_ARG_KEEPALIVE_TIME_MS. This arg also limited the activity of the other - source of pings in gRPC Core - BDP pings, but BDP pings are only sent when - there is receive-side data activity, making this arg unuseful for BDP pings - too. */ -#define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS \ - "grpc.http2.min_time_between_pings_ms" -/** Minimum allowed time between a server receiving successive ping frames - without sending any data/header frame. Int valued, milliseconds - */ -#define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS \ - "grpc.http2.min_ping_interval_without_data_ms" -/** Channel arg to override the http2 :scheme header */ -#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme" -/** How many pings can the client send before needing to send a - data/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_MAX_PINGS_WITHOUT_DATA \ - "grpc.http2.max_pings_without_data" -/** 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_PING_STRIKES "grpc.http2.max_ping_strikes" -/** 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_HTTP2_WRITE_BUFFER_SIZE "grpc.http2.write_buffer_size" -/** Should we allow receipt of true-binary data on http2 connections? - Defaults to on (1) */ -#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY "grpc.http2.true_binary" -/** An experimental channel arg which determines whether the perferred crypto - * frame size http2 setting sent to the peer at startup. If set to 0 (false - * - default), the preferred frame size is not sent to the peer. Otherwise it - * sends a default preferred crypto frame size value of 4GB to the peer at - * the startup of each connection. */ -#define GRPC_ARG_EXPERIMENTAL_HTTP2_PREFERRED_CRYPTO_FRAME_SIZE \ - "grpc.experimental.http2.enable_preferred_frame_size" -/** 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_TIME_MS "grpc.keepalive_time_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_KEEPALIVE_TIMEOUT_MS "grpc.keepalive_timeout_ms" -/** Is it permissible to send keepalive pings from the client without any - outstanding streams. Int valued, 0(false)/1(true). */ -#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \ - "grpc.keepalive_permit_without_calls" -/** 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. 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. A string. */ -#define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent" -/** The minimum time between subsequent connection attempts, in ms */ -#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS "grpc.min_reconnect_backoff_ms" -/** The maximum time between subsequent connection attempts, in ms */ -#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms" -/** The time between the first and second connection attempts, in ms */ -#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \ - "grpc.initial_reconnect_backoff_ms" -/** Minimum amount of time between DNS resolutions, in ms */ -#define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS \ - "grpc.dns_min_time_between_resolutions_ms" -/** The timeout used on servers for finishing handshaking on an incoming - connection. Defaults to 120 seconds. */ -#define GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS "grpc.server_handshake_timeout_ms" -/** 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 \a 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. */ -#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override" -/** 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) */ -#define GRPC_SSL_SESSION_CACHE_ARG "grpc.ssl_session_cache" -/** If non-zero, it will determine the maximum frame size used by TSI's frame - * protector. - */ -#define GRPC_ARG_TSI_MAX_FRAME_SIZE "grpc.tsi.max_frame_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. */ -#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" -/** 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) */ -#define GRPC_ARG_RESOURCE_QUOTA "grpc.resource_quota" -/** If non-zero, expand wildcard addresses to a list of local addresses. */ -#define GRPC_ARG_EXPAND_WILDCARD_ADDRS "grpc.expand_wildcard_addrs" -/** Service config data in JSON form. - This value will be ignored if the name resolver returns a service config. */ -#define GRPC_ARG_SERVICE_CONFIG "grpc.service_config" -/** Disable looking up the service config via the name resolver. */ -#define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION \ - "grpc.service_config_disable_resolution" -/** LB policy name. */ -#define GRPC_ARG_LB_POLICY_NAME "grpc.lb_policy_name" -/** Cap for ring size in the ring_hash LB policy. The min and max ring size - values set in the LB policy config will be capped to this value. - Default is 4096. */ -#define GRPC_ARG_RING_HASH_LB_RING_SIZE_CAP "grpc.lb.ring_hash.ring_size_cap" -/** The grpc_socket_mutator instance that set the socket options. A pointer. */ -#define GRPC_ARG_SOCKET_MUTATOR "grpc.socket_mutator" -/** The grpc_socket_factory instance to create and bind sockets. A pointer. */ -#define GRPC_ARG_SOCKET_FACTORY "grpc.socket_factory" -/** 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. */ -#define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE \ - "grpc.max_channel_trace_event_memory_per_node" -/** 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. */ -#define GRPC_ARG_ENABLE_CHANNELZ "grpc.enable_channelz" -/** If non-zero, Cronet transport will coalesce packets to fewer frames - * when possible. */ -#define GRPC_ARG_USE_CRONET_PACKET_COALESCING \ - "grpc.use_cronet_packet_coalescing" -/** Channel arg (integer) setting how large a slice to try and read from the - wire each time recvmsg (or equivalent) is called **/ -#define GRPC_ARG_TCP_READ_CHUNK_SIZE "grpc.experimental.tcp_read_chunk_size" -/** 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. */ -#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" -/* TCP TX Zerocopy enable state: zero is disabled, non-zero is enabled. By - default, it is disabled. */ -#define GRPC_ARG_TCP_TX_ZEROCOPY_ENABLED \ - "grpc.experimental.tcp_tx_zerocopy_enabled" -/* TCP TX Zerocopy send threshold: only zerocopy if >= this many bytes sent. By - default, this is set to 16KB. */ -#define GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD \ - "grpc.experimental.tcp_tx_zerocopy_send_bytes_threshold" -/* TCP TX Zerocopy max simultaneous sends: limit for maximum number of pending - calls to tcp_write() using zerocopy. A tcp_write() is considered pending - until the kernel performs the zerocopy-done callback for all sendmsg() calls - issued by the tcp_write(). By default, this is set to 4. */ -#define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS \ - "grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends" -/* Timeout in milliseconds to use for calls to the grpclb load balancer. - If 0 or unset, the balancer calls will have no deadline. */ -#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS "grpc.grpclb_call_timeout_ms" -/* Specifies the xDS bootstrap config as a JSON string. - FOR TESTING PURPOSES ONLY -- DO NOT USE IN PRODUCTION. - This option allows controlling the bootstrap configuration on a - per-channel basis, which is useful in tests. However, this results - in having a separate xDS client instance per channel rather than - using the global instance, which is not the intended way to use xDS. - Currently, this will (a) add unnecessary load on the xDS server and - (b) break use of CSDS, and there may be additional side effects in - the future. */ -#define GRPC_ARG_TEST_ONLY_DO_NOT_USE_IN_PROD_XDS_BOOTSTRAP_CONFIG \ - "grpc.TEST_ONLY_DO_NOT_USE_IN_PROD.xds_bootstrap_config" -/* Timeout in milliseconds to wait for the serverlist from the grpclb load - balancer before using fallback backend addresses from the resolver. - If 0, enter fallback mode immediately. Default value is 10000. */ -#define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms" -/* Experimental Arg. Channel args to be used for the control-plane channel - * created to the grpclb load balancers. This is a pointer arg whose value is a - * grpc_channel_args object. If unset, most channel args from the parent channel - * will be propagated to the grpclb channel. */ -#define GRPC_ARG_EXPERIMENTAL_GRPCLB_CHANNEL_ARGS \ - "grpc.experimental.grpclb_channel_args" -/* Timeout in milliseconds to wait for the child of a specific priority to - complete its initial connection attempt before the priority LB policy fails - over to the next priority. Default value is 10 seconds. */ -#define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS \ - "grpc.priority_failover_timeout_ms" -/** If non-zero, grpc server's cronet compression workaround will be enabled */ -#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION \ - "grpc.workaround.cronet_compression" -/** 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". */ -#define GRPC_ARG_OPTIMIZATION_TARGET "grpc.optimization_target" -/** Enables retry functionality. Defaults to true. When enabled, - transparent retries will be performed as appropriate, 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 - NOTE: Hedging functionality is not yet implemented, so those - fields in the service config will currently be ignored. See - also the GRPC_ARG_EXPERIMENTAL_ENABLE_HEDGING arg below. - */ -#define GRPC_ARG_ENABLE_RETRIES "grpc.enable_retries" -/** Enables hedging functionality, as described in: - https://github.com/grpc/proposal/blob/master/A6-client-retries.md - Default is currently false, since this functionality is not yet - fully implemented. - NOTE: This channel arg is experimental and will eventually be removed. - Once hedging functionality has been implemented and proves stable, - this arg will be removed, and the hedging functionality will - be enabled via the GRPC_ARG_ENABLE_RETRIES arg above. */ -#define GRPC_ARG_EXPERIMENTAL_ENABLE_HEDGING "grpc.experimental.enable_hedging" -/** Per-RPC retry buffer size, in bytes. Default is 256 KiB. */ -#define GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE "grpc.per_rpc_retry_buffer_size" -/** Channel arg that carries the bridged objective c object for custom metrics - * logging filter. */ -#define GRPC_ARG_MOBILE_LOG_CONTEXT "grpc.mobile_log_context" -/** If non-zero, client authority filter is disabled for the channel */ -#define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER \ - "grpc.disable_client_authority_filter" -/** If set to zero, disables use of http proxies. Enabled by default. */ -#define GRPC_ARG_ENABLE_HTTP_PROXY "grpc.enable_http_proxy" -/** Channel arg to set http proxy per channel. If set, the channel arg - * value will be prefered over the envrionment variable settings. */ -#define GRPC_ARG_HTTP_PROXY "grpc.http_proxy" -/** If set to non zero, surfaces the user agent string to the server. User - agent is surfaced by default. */ -#define GRPC_ARG_SURFACE_USER_AGENT "grpc.surface_user_agent" -/** If set, inhibits health checking (which may be enabled via the - * service config.) */ -#define GRPC_ARG_INHIBIT_HEALTH_CHECKING "grpc.inhibit_health_checking" -/** If enabled, the channel's DNS resolver queries for SRV records. - * This is useful only when using the "grpclb" load balancing policy, - * as described in the following documents: - * https://github.com/grpc/proposal/blob/master/A5-grpclb-in-dns.md - * https://github.com/grpc/proposal/blob/master/A24-lb-policy-config.md - * https://github.com/grpc/proposal/blob/master/A26-grpclb-selection.md - * Note that this works only with the "ares" DNS resolver; it isn't supported - * by the "native" DNS resolver. */ -#define GRPC_ARG_DNS_ENABLE_SRV_QUERIES "grpc.dns_enable_srv_queries" -/** 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. */ -#define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS "grpc.dns_ares_query_timeout" -/** If set, uses a local subchannel pool within the channel. Otherwise, uses the - * global subchannel pool. */ -#define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL "grpc.use_local_subchannel_pool" -/** gRPC Objective-C channel pooling domain string. */ -#define GRPC_ARG_CHANNEL_POOL_DOMAIN "grpc.channel_pooling_domain" -/** gRPC Objective-C channel pooling id. */ -#define GRPC_ARG_CHANNEL_ID "grpc.channel_id" -/** Channel argument for grpc_authorization_policy_provider. If present, enables - gRPC authorization check. */ -#define GRPC_ARG_AUTHORIZATION_POLICY_PROVIDER \ - "grpc.authorization_policy_provider" -/** EXPERIMENTAL. Updates to a server's configuration from a config fetcher (for - * example, listener updates from xDS) cause all older connections to be - * gracefully shut down (i.e., "drained") with a grace period configured by this - * channel arg. Int valued, milliseconds. Defaults to 10 minutes.*/ -#define GRPC_ARG_SERVER_CONFIG_CHANGE_DRAIN_GRACE_TIME_MS \ - "grpc.experimental.server_config_change_drain_grace_time_ms" -/** \} */ - -/** 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. - Receiving any other value listed here is an indication of a bug in the - caller. */ -typedef enum grpc_call_error { - /** everything went ok */ - GRPC_CALL_OK = 0, - /** something failed, we don't know what */ - GRPC_CALL_ERROR, - /** this method is not available on the server */ - GRPC_CALL_ERROR_NOT_ON_SERVER, - /** this method is not available on the client */ - GRPC_CALL_ERROR_NOT_ON_CLIENT, - /** this method must be called before server_accept */ - GRPC_CALL_ERROR_ALREADY_ACCEPTED, - /** this method must be called before invoke */ - GRPC_CALL_ERROR_ALREADY_INVOKED, - /** this method must be called after invoke */ - GRPC_CALL_ERROR_NOT_INVOKED, - /** this call is already finished - (writes_done or write_status has already been called) */ - GRPC_CALL_ERROR_ALREADY_FINISHED, - /** there is already an outstanding read/write operation on the call */ - GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, - /** the flags value was illegal for this call */ - GRPC_CALL_ERROR_INVALID_FLAGS, - /** invalid metadata was passed to this call */ - GRPC_CALL_ERROR_INVALID_METADATA, - /** invalid message was passed to this call */ - GRPC_CALL_ERROR_INVALID_MESSAGE, - /** completion queue for notification has not been registered - * with the server */ - GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE, - /** this batch of operations leads to more operations than allowed */ - GRPC_CALL_ERROR_BATCH_TOO_BIG, - /** payload type requested is not the type registered */ - GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH, - /** completion queue has been shutdown */ - GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN -} grpc_call_error; - -/** Default send/receive message size limits in bytes. -1 for unlimited. */ -/** TODO(roth) Make this match the default receive limit after next release */ -#define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH (-1) -#define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024) - -/** Write Flags: */ -/** Hint that the write may be buffered and need not go out on the wire - immediately. GRPC is free to buffer the message until the next non-buffered - write, or until writes_done, but it need not buffer completely or at all. */ -#define GRPC_WRITE_BUFFER_HINT (0x00000001u) -/** Force compression to be disabled for a particular write - (start_write/add_metadata). Illegal on invoke/accept. */ -#define GRPC_WRITE_NO_COMPRESS (0x00000002u) -/** Force this message to be written to the socket before completing it */ -#define GRPC_WRITE_THROUGH (0x00000004u) -/** Mask of all valid flags. */ -#define GRPC_WRITE_USED_MASK \ - (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_THROUGH) - -/** Initial metadata flags */ -/** These flags are to be passed to the `grpc_op::flags` field */ -/** Signal that the call should not return UNAVAILABLE before it has started */ -#define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u) -/** Signal that GRPC_INITIAL_METADATA_WAIT_FOR_READY was explicitly set - by the calling application. */ -#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u) - -/** Mask of all valid flags */ -#define GRPC_INITIAL_METADATA_USED_MASK \ - (GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \ - GRPC_INITIAL_METADATA_WAIT_FOR_READY | GRPC_WRITE_THROUGH) - -/** A single metadata element */ -typedef struct grpc_metadata { - /** the key, value values are expected to line up with grpc_mdelem: if - changing them, update metadata.h at the same time. */ - grpc_slice key; - grpc_slice value; - - /** The following fields are reserved for grpc internal use. - There is no need to initialize them, and they will be set to garbage - during calls to grpc. */ - struct /* internal */ { - void* obfuscated[4]; - } internal_data; -} grpc_metadata; - -/** The type of completion (for grpc_event) */ -typedef enum grpc_completion_type { - /** Shutting down */ - GRPC_QUEUE_SHUTDOWN, - /** No event before timeout */ - GRPC_QUEUE_TIMEOUT, - /** Operation completion */ - GRPC_OP_COMPLETE -} grpc_completion_type; - -/** The result of an operation. - - Returned by a completion queue when the operation started with tag. */ -typedef struct grpc_event { - /** The type of the completion. */ - grpc_completion_type type; - /** If the grpc_completion_type is GRPC_OP_COMPLETE, this field indicates - whether the operation was successful or not; 0 in case of failure and - non-zero in case of success. - If grpc_completion_type is GRPC_QUEUE_SHUTDOWN or GRPC_QUEUE_TIMEOUT, this - field is guaranteed to be 0 */ - int success; - /** The tag passed to grpc_call_start_batch etc to start this operation. - *Only* GRPC_OP_COMPLETE has a tag. For all other grpc_completion_type - values, tag is uninitialized. */ - void* tag; -} grpc_event; - -typedef struct { - size_t count; - size_t capacity; - grpc_metadata* metadata; -} grpc_metadata_array; - -typedef struct { - grpc_slice method; - grpc_slice host; - gpr_timespec deadline; -} grpc_call_details; - -typedef enum { - /** Send initial metadata: one and only one instance MUST be sent for each - call, unless the call was cancelled - in which case this can be skipped. - This op completes after all bytes of metadata have been accepted by - outgoing flow control. */ - GRPC_OP_SEND_INITIAL_METADATA = 0, - /** Send a message: 0 or more of these operations can occur for each call. - This op completes after all bytes for the message have been accepted by - outgoing flow control. */ - GRPC_OP_SEND_MESSAGE, - /** Send a close from the client: one and only one instance MUST be sent from - the client, unless the call was cancelled - in which case this can be - skipped. This op completes after all bytes for the call - (including the close) have passed outgoing flow control. */ - GRPC_OP_SEND_CLOSE_FROM_CLIENT, - /** Send status from the server: one and only one instance MUST be sent from - the server unless the call was cancelled - in which case this can be - skipped. This op completes after all bytes for the call - (including the status) have passed outgoing flow control. */ - GRPC_OP_SEND_STATUS_FROM_SERVER, - /** Receive initial metadata: one and only one MUST be made on the client, - must not be made on the server. - This op completes after all initial metadata has been read from the - peer. */ - GRPC_OP_RECV_INITIAL_METADATA, - /** Receive a message: 0 or more of these operations can occur for each call. - This op completes after all bytes of the received message have been - read, or after a half-close has been received on this call. */ - GRPC_OP_RECV_MESSAGE, - /** Receive status on the client: one and only one must be made on the client. - This operation always succeeds, meaning ops paired with this operation - will also appear to succeed, even though they may not have. In that case - the status will indicate some failure. - This op completes after all activity on the call has completed. */ - GRPC_OP_RECV_STATUS_ON_CLIENT, - /** Receive close on the server: one and only one must be made on the - server. This op completes after the close has been received by the - server. This operation always succeeds, meaning ops paired with - this operation will also appear to succeed, even though they may not - have. */ - GRPC_OP_RECV_CLOSE_ON_SERVER -} grpc_op_type; - -struct grpc_byte_buffer; - -/** Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT - which has no arguments) */ -typedef struct grpc_op { - /** Operation type, as defined by grpc_op_type */ - grpc_op_type op; - /** Write flags bitset for grpc_begin_messages */ - uint32_t flags; - /** Reserved for future usage */ - void* reserved; - union grpc_op_data { - /** Reserved for future usage */ - struct /* internal */ { - void* reserved[8]; - } reserved; - struct grpc_op_send_initial_metadata { - size_t count; - grpc_metadata* metadata; - /** If \a is_set, \a compression_level will be used for the call. - * Otherwise, \a compression_level won't be considered */ - struct grpc_op_send_initial_metadata_maybe_compression_level { - uint8_t is_set; - grpc_compression_level level; - } maybe_compression_level; - } send_initial_metadata; - struct grpc_op_send_message { - /** This op takes ownership of the slices in send_message. After - * a call completes, the contents of send_message are not guaranteed - * and likely empty. The original owner should still call - * grpc_byte_buffer_destroy() on this object however. - */ - struct grpc_byte_buffer* send_message; - } send_message; - struct grpc_op_send_status_from_server { - size_t trailing_metadata_count; - grpc_metadata* trailing_metadata; - grpc_status_code status; - /** optional: set to NULL if no details need sending, non-NULL if they do - * pointer will not be retained past the start_batch call - */ - grpc_slice* status_details; - } send_status_from_server; - /** ownership of the array is with the caller, but ownership of the elements - stays with the call object (ie key, value members are owned by the call - object, recv_initial_metadata->array is owned by the caller). - After the operation completes, call grpc_metadata_array_destroy on this - value, or reuse it in a future op. */ - struct grpc_op_recv_initial_metadata { - grpc_metadata_array* recv_initial_metadata; - } recv_initial_metadata; - /** ownership of the byte buffer is moved to the caller; the caller must - call grpc_byte_buffer_destroy on this value, or reuse it in a future op. - The returned byte buffer will be NULL if trailing metadata was - received instead of a message. - */ - struct grpc_op_recv_message { - struct grpc_byte_buffer** recv_message; - } recv_message; - struct grpc_op_recv_status_on_client { - /** ownership of the array is with the caller, but ownership of the - elements stays with the call object (ie key, value members are owned - by the call object, trailing_metadata->array is owned by the caller). - After the operation completes, call grpc_metadata_array_destroy on - this value, or reuse it in a future op. */ - grpc_metadata_array* trailing_metadata; - grpc_status_code* status; - grpc_slice* status_details; - /** If this is not nullptr, it will be populated with the full fidelity - * error string for debugging purposes. The application is responsible - * for freeing the data by using gpr_free(). */ - const char** error_string; - } recv_status_on_client; - struct grpc_op_recv_close_on_server { - /** out argument, set to 1 if the call failed at the server for - a reason other than a non-OK status (cancel, deadline - exceeded, network failure, etc.), 0 otherwise (RPC processing ran to - completion and was able to provide any status from the server) */ - int* cancelled; - } recv_close_on_server; - } data; -} grpc_op; - -/** Information requested from the channel. */ -typedef struct { - /** If non-NULL, will be set to point to a string indicating the LB - * policy name. Caller takes ownership. */ - char** lb_policy_name; - /** If non-NULL, will be set to point to a string containing the - * service config used by the channel in JSON form. */ - char** service_config_json; -} grpc_channel_info; - -typedef struct grpc_resource_quota grpc_resource_quota; - -/** Completion queues internally MAY maintain a set of file descriptors in a - structure called 'pollset'. This enum specifies if a completion queue has an - associated pollset and any restrictions on the type of file descriptors that - can be present in the pollset. - - I/O progress can only be made when grpc_completion_queue_next() or - grpc_completion_queue_pluck() are called on the completion queue (unless the - grpc_cq_polling_type is GRPC_CQ_NON_POLLING) and hence it is very important - to actively call these APIs */ -typedef enum { - /** The completion queue will have an associated pollset and there is no - restriction on the type of file descriptors the pollset may contain */ - GRPC_CQ_DEFAULT_POLLING, - - /** Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will - not contain any 'listening file descriptors' (i.e file descriptors used to - listen to incoming channels) */ - GRPC_CQ_NON_LISTENING, - - /** The completion queue will not have an associated pollset. Note that - grpc_completion_queue_next() or grpc_completion_queue_pluck() MUST still - be called to pop events from the completion queue; it is not required to - call them actively to make I/O progress */ - GRPC_CQ_NON_POLLING -} grpc_cq_polling_type; - -/** Specifies the type of APIs to use to pop events from the completion queue */ -typedef enum { - /** Events are popped out by calling grpc_completion_queue_next() API ONLY */ - GRPC_CQ_NEXT, - - /** Events are popped out by calling grpc_completion_queue_pluck() API ONLY*/ - GRPC_CQ_PLUCK, - - /** Events trigger a callback specified as the tag */ - GRPC_CQ_CALLBACK -} grpc_cq_completion_type; - -/** Specifies an interface class to be used as a tag for callback-based - * completion queues. This can be used directly, as the first element of a - * struct in C, or as a base class in C++. Its "run" value should be assigned to - * some non-member function, such as a static method. */ -typedef struct grpc_completion_queue_functor { - /** The run member specifies a function that will be called when this - tag is extracted from the completion queue. Its arguments will be a - pointer to this functor and a boolean that indicates whether the - operation succeeded (non-zero) or failed (zero) */ - void (*functor_run)(struct grpc_completion_queue_functor*, int); - - /** The inlineable member specifies whether this functor can be run inline. - This should only be used for trivial internally-defined functors. */ - int inlineable; - - /** The following fields are not API. They are meant for internal use. */ - int internal_success; - struct grpc_completion_queue_functor* internal_next; -} grpc_completion_queue_functor; - -#define GRPC_CQ_CURRENT_VERSION 2 -#define GRPC_CQ_VERSION_MINIMUM_FOR_CALLBACKABLE 2 -typedef struct grpc_completion_queue_attributes { - /** The version number of this structure. More fields might be added to this - structure in future. */ - int version; /** Set to GRPC_CQ_CURRENT_VERSION */ - - grpc_cq_completion_type cq_completion_type; - - grpc_cq_polling_type cq_polling_type; - - /* END OF VERSION 1 CQ ATTRIBUTES */ - - /* START OF VERSION 2 CQ ATTRIBUTES */ - /** When creating a callbackable CQ, pass in a functor to get invoked when - * shutdown is complete */ - grpc_completion_queue_functor* cq_shutdown_cb; - - /* END OF VERSION 2 CQ ATTRIBUTES */ -} grpc_completion_queue_attributes; - -/** The completion queue factory structure is opaque to the callers of grpc */ -typedef struct grpc_completion_queue_factory grpc_completion_queue_factory; - -#ifdef __cplusplus -} -#endif +/// TODO(chengyuc): Remove this file after solving compatibility. +#include #endif /* GRPC_IMPL_CODEGEN_GRPC_TYPES_H */ diff --git a/include/grpc/impl/grpc_types.h b/include/grpc/impl/grpc_types.h new file mode 100644 index 00000000000..7640e04833f --- /dev/null +++ b/include/grpc/impl/grpc_types.h @@ -0,0 +1,824 @@ +/* + * + * Copyright 2015 gRPC authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +#ifndef GRPC_IMPL_GRPC_TYPES_H +#define GRPC_IMPL_GRPC_TYPES_H + +// IWYU pragma: private, include + +#include + +#include + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + GRPC_BB_RAW + /** Future types may include GRPC_BB_PROTOBUF, etc. */ +} grpc_byte_buffer_type; + +typedef struct grpc_byte_buffer { + void* reserved; + grpc_byte_buffer_type type; + union grpc_byte_buffer_data { + struct /* internal */ { + void* reserved[8]; + } reserved; + struct grpc_compressed_buffer { + grpc_compression_algorithm compression; + grpc_slice_buffer slice_buffer; + } raw; + } data; +} grpc_byte_buffer; + +/** Completion Queues enable notification of the completion of + * asynchronous actions. */ +typedef struct grpc_completion_queue grpc_completion_queue; + +/** The Channel interface allows creation of Call objects. */ +typedef struct grpc_channel grpc_channel; + +/** A server listens to some port and responds to request calls */ +typedef struct grpc_server grpc_server; + +/** A Call represents an RPC. When created, it is in a configuration state + allowing properties to be set until it is invoked. After invoke, the Call + can have messages written to it and read from it. */ +typedef struct grpc_call grpc_call; + +/** The Socket Mutator interface allows changes on socket options */ +typedef struct grpc_socket_mutator grpc_socket_mutator; + +/** The Socket Factory interface creates and binds sockets */ +typedef struct grpc_socket_factory grpc_socket_factory; + +/** Type specifier for grpc_arg */ +typedef enum { + GRPC_ARG_STRING, + GRPC_ARG_INTEGER, + GRPC_ARG_POINTER +} grpc_arg_type; + +typedef struct grpc_arg_pointer_vtable { + void* (*copy)(void* p); + void (*destroy)(void* p); + int (*cmp)(void* p, void* q); +} grpc_arg_pointer_vtable; + +/** A single argument... each argument has a key and a value + + A note on naming keys: + Keys are namespaced into groups, usually grouped by library, and are + keys for module XYZ are named XYZ.key1, XYZ.key2, etc. Module names must + be restricted to the regex [A-Za-z][_A-Za-z0-9]{,15}. + Key names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,47}. + + GRPC core library keys are prefixed by grpc. + + Library authors are strongly encouraged to \#define symbolic constants for + their keys so that it's possible to change them in the future. */ +typedef struct { + grpc_arg_type type; + char* key; + union grpc_arg_value { + char* string; + int integer; + struct grpc_arg_pointer { + void* p; + const grpc_arg_pointer_vtable* vtable; + } pointer; + } value; +} grpc_arg; + +/** An array of arguments that can be passed around. + + Used to set optional channel-level configuration. + These configuration options are modelled as key-value pairs as defined + 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 keys and values in this structure need only live through the + creation invocation). + + However, if one of the args has grpc_arg_type==GRPC_ARG_POINTER, then the + grpc_arg_pointer_vtable must live until the channel args are done being + used by core (i.e. when the object for use with which they were passed + is destroyed). + + 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; + +/** \defgroup grpc_arg_keys + * Channel argument keys. + * \{ + */ +/** If non-zero, enable census for tracing and stats collection. */ +#define GRPC_ARG_ENABLE_CENSUS "grpc.census" +/** If non-zero, enable load reporting. */ +#define GRPC_ARG_ENABLE_LOAD_REPORTING "grpc.loadreporting" +/** 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_MINIMAL_STACK "grpc.minimal_stack" +/** Maximum number of concurrent incoming streams to allow on a http2 + connection. Int valued. */ +#define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams" +/** Maximum message length that the channel can receive. Int valued, bytes. + -1 means unlimited. */ +#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH "grpc.max_receive_message_length" +/** \deprecated For backward compatibility. + * Use GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH instead. */ +#define GRPC_ARG_MAX_MESSAGE_LENGTH GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH +/** Maximum message length that the channel can send. Int valued, bytes. + -1 means unlimited. */ +#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH "grpc.max_send_message_length" +/** 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. */ +#define GRPC_ARG_MAX_CONNECTION_IDLE_MS "grpc.max_connection_idle_ms" +/** Maximum time that a channel may exist. Int valued, milliseconds. + * INT_MAX means unlimited. */ +#define GRPC_ARG_MAX_CONNECTION_AGE_MS "grpc.max_connection_age_ms" +/** Grace period after the channel reaches its max age. Int valued, + milliseconds. INT_MAX means unlimited. */ +#define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS "grpc.max_connection_age_grace_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. */ +#define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS "grpc.client_idle_timeout_ms" +/** Enable/disable support for per-message compression. Defaults to 1, unless + GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0. */ +#define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION "grpc.per_message_compression" +/** 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. */ +#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \ + "grpc.per_message_decompression" +/** Enable/disable support for deadline checking. Defaults to 1, unless + GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */ +#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking" +/** Initial stream ID 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. Int valued, bytes. */ +#define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes" +/** 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. Int valued, bytes. */ +#define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \ + "grpc.http2.hpack_table_size.encoder" +/** 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_FRAME_SIZE "grpc.http2.max_frame_size" +/** Should BDP probing be performed? */ +#define GRPC_ARG_HTTP2_BDP_PROBE "grpc.http2.bdp_probe" +/** (DEPRECATED) Does not have any effect. + Earlier, this arg configured the minimum time between successive ping frames + without receiving any data/header frame, Int valued, milliseconds. This put + unnecessary constraints on the configuration of keepalive pings, + requiring users to set this channel arg along with + GRPC_ARG_KEEPALIVE_TIME_MS. This arg also limited the activity of the other + source of pings in gRPC Core - BDP pings, but BDP pings are only sent when + there is receive-side data activity, making this arg unuseful for BDP pings + too. */ +#define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS \ + "grpc.http2.min_time_between_pings_ms" +/** Minimum allowed time between a server receiving successive ping frames + without sending any data/header frame. Int valued, milliseconds + */ +#define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS \ + "grpc.http2.min_ping_interval_without_data_ms" +/** Channel arg to override the http2 :scheme header */ +#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme" +/** How many pings can the client send before needing to send a + data/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_MAX_PINGS_WITHOUT_DATA \ + "grpc.http2.max_pings_without_data" +/** 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_PING_STRIKES "grpc.http2.max_ping_strikes" +/** 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_HTTP2_WRITE_BUFFER_SIZE "grpc.http2.write_buffer_size" +/** Should we allow receipt of true-binary data on http2 connections? + Defaults to on (1) */ +#define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY "grpc.http2.true_binary" +/** An experimental channel arg which determines whether the preferred crypto + * frame size http2 setting sent to the peer at startup. If set to 0 (false + * - default), the preferred frame size is not sent to the peer. Otherwise it + * sends a default preferred crypto frame size value of 4GB to the peer at + * the startup of each connection. */ +#define GRPC_ARG_EXPERIMENTAL_HTTP2_PREFERRED_CRYPTO_FRAME_SIZE \ + "grpc.experimental.http2.enable_preferred_frame_size" +/** 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_TIME_MS "grpc.keepalive_time_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_KEEPALIVE_TIMEOUT_MS "grpc.keepalive_timeout_ms" +/** Is it permissible to send keepalive pings from the client without any + outstanding streams. Int valued, 0(false)/1(true). */ +#define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \ + "grpc.keepalive_permit_without_calls" +/** 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. 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. A string. */ +#define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent" +/** The minimum time between subsequent connection attempts, in ms */ +#define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS "grpc.min_reconnect_backoff_ms" +/** The maximum time between subsequent connection attempts, in ms */ +#define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms" +/** The time between the first and second connection attempts, in ms */ +#define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \ + "grpc.initial_reconnect_backoff_ms" +/** Minimum amount of time between DNS resolutions, in ms */ +#define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS \ + "grpc.dns_min_time_between_resolutions_ms" +/** The timeout used on servers for finishing handshaking on an incoming + connection. Defaults to 120 seconds. */ +#define GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS "grpc.server_handshake_timeout_ms" +/** 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 \a 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. */ +#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override" +/** 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) */ +#define GRPC_SSL_SESSION_CACHE_ARG "grpc.ssl_session_cache" +/** If non-zero, it will determine the maximum frame size used by TSI's frame + * protector. + */ +#define GRPC_ARG_TSI_MAX_FRAME_SIZE "grpc.tsi.max_frame_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. */ +#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" +/** 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) */ +#define GRPC_ARG_RESOURCE_QUOTA "grpc.resource_quota" +/** If non-zero, expand wildcard addresses to a list of local addresses. */ +#define GRPC_ARG_EXPAND_WILDCARD_ADDRS "grpc.expand_wildcard_addrs" +/** Service config data in JSON form. + This value will be ignored if the name resolver returns a service config. */ +#define GRPC_ARG_SERVICE_CONFIG "grpc.service_config" +/** Disable looking up the service config via the name resolver. */ +#define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION \ + "grpc.service_config_disable_resolution" +/** LB policy name. */ +#define GRPC_ARG_LB_POLICY_NAME "grpc.lb_policy_name" +/** Cap for ring size in the ring_hash LB policy. The min and max ring size + values set in the LB policy config will be capped to this value. + Default is 4096. */ +#define GRPC_ARG_RING_HASH_LB_RING_SIZE_CAP "grpc.lb.ring_hash.ring_size_cap" +/** The grpc_socket_mutator instance that set the socket options. A pointer. */ +#define GRPC_ARG_SOCKET_MUTATOR "grpc.socket_mutator" +/** The grpc_socket_factory instance to create and bind sockets. A pointer. */ +#define GRPC_ARG_SOCKET_FACTORY "grpc.socket_factory" +/** 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. */ +#define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE \ + "grpc.max_channel_trace_event_memory_per_node" +/** 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. */ +#define GRPC_ARG_ENABLE_CHANNELZ "grpc.enable_channelz" +/** If non-zero, Cronet transport will coalesce packets to fewer frames + * when possible. */ +#define GRPC_ARG_USE_CRONET_PACKET_COALESCING \ + "grpc.use_cronet_packet_coalescing" +/** Channel arg (integer) setting how large a slice to try and read from the + wire each time recvmsg (or equivalent) is called **/ +#define GRPC_ARG_TCP_READ_CHUNK_SIZE "grpc.experimental.tcp_read_chunk_size" +/** 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. */ +#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" +/* TCP TX Zerocopy enable state: zero is disabled, non-zero is enabled. By + default, it is disabled. */ +#define GRPC_ARG_TCP_TX_ZEROCOPY_ENABLED \ + "grpc.experimental.tcp_tx_zerocopy_enabled" +/* TCP TX Zerocopy send threshold: only zerocopy if >= this many bytes sent. By + default, this is set to 16KB. */ +#define GRPC_ARG_TCP_TX_ZEROCOPY_SEND_BYTES_THRESHOLD \ + "grpc.experimental.tcp_tx_zerocopy_send_bytes_threshold" +/* TCP TX Zerocopy max simultaneous sends: limit for maximum number of pending + calls to tcp_write() using zerocopy. A tcp_write() is considered pending + until the kernel performs the zerocopy-done callback for all sendmsg() calls + issued by the tcp_write(). By default, this is set to 4. */ +#define GRPC_ARG_TCP_TX_ZEROCOPY_MAX_SIMULT_SENDS \ + "grpc.experimental.tcp_tx_zerocopy_max_simultaneous_sends" +/* Timeout in milliseconds to use for calls to the grpclb load balancer. + If 0 or unset, the balancer calls will have no deadline. */ +#define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS "grpc.grpclb_call_timeout_ms" +/* Specifies the xDS bootstrap config as a JSON string. + FOR TESTING PURPOSES ONLY -- DO NOT USE IN PRODUCTION. + This option allows controlling the bootstrap configuration on a + per-channel basis, which is useful in tests. However, this results + in having a separate xDS client instance per channel rather than + using the global instance, which is not the intended way to use xDS. + Currently, this will (a) add unnecessary load on the xDS server and + (b) break use of CSDS, and there may be additional side effects in + the future. */ +#define GRPC_ARG_TEST_ONLY_DO_NOT_USE_IN_PROD_XDS_BOOTSTRAP_CONFIG \ + "grpc.TEST_ONLY_DO_NOT_USE_IN_PROD.xds_bootstrap_config" +/* Timeout in milliseconds to wait for the serverlist from the grpclb load + balancer before using fallback backend addresses from the resolver. + If 0, enter fallback mode immediately. Default value is 10000. */ +#define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms" +/* Experimental Arg. Channel args to be used for the control-plane channel + * created to the grpclb load balancers. This is a pointer arg whose value is a + * grpc_channel_args object. If unset, most channel args from the parent channel + * will be propagated to the grpclb channel. */ +#define GRPC_ARG_EXPERIMENTAL_GRPCLB_CHANNEL_ARGS \ + "grpc.experimental.grpclb_channel_args" +/* Timeout in milliseconds to wait for the child of a specific priority to + complete its initial connection attempt before the priority LB policy fails + over to the next priority. Default value is 10 seconds. */ +#define GRPC_ARG_PRIORITY_FAILOVER_TIMEOUT_MS \ + "grpc.priority_failover_timeout_ms" +/** If non-zero, grpc server's cronet compression workaround will be enabled */ +#define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION \ + "grpc.workaround.cronet_compression" +/** 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". */ +#define GRPC_ARG_OPTIMIZATION_TARGET "grpc.optimization_target" +/** Enables retry functionality. Defaults to true. When enabled, + transparent retries will be performed as appropriate, 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 + NOTE: Hedging functionality is not yet implemented, so those + fields in the service config will currently be ignored. See + also the GRPC_ARG_EXPERIMENTAL_ENABLE_HEDGING arg below. + */ +#define GRPC_ARG_ENABLE_RETRIES "grpc.enable_retries" +/** Enables hedging functionality, as described in: + https://github.com/grpc/proposal/blob/master/A6-client-retries.md + Default is currently false, since this functionality is not yet + fully implemented. + NOTE: This channel arg is experimental and will eventually be removed. + Once hedging functionality has been implemented and proves stable, + this arg will be removed, and the hedging functionality will + be enabled via the GRPC_ARG_ENABLE_RETRIES arg above. */ +#define GRPC_ARG_EXPERIMENTAL_ENABLE_HEDGING "grpc.experimental.enable_hedging" +/** Per-RPC retry buffer size, in bytes. Default is 256 KiB. */ +#define GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE "grpc.per_rpc_retry_buffer_size" +/** Channel arg that carries the bridged objective c object for custom metrics + * logging filter. */ +#define GRPC_ARG_MOBILE_LOG_CONTEXT "grpc.mobile_log_context" +/** If non-zero, client authority filter is disabled for the channel */ +#define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER \ + "grpc.disable_client_authority_filter" +/** If set to zero, disables use of http proxies. Enabled by default. */ +#define GRPC_ARG_ENABLE_HTTP_PROXY "grpc.enable_http_proxy" +/** Channel arg to set http proxy per channel. If set, the channel arg + * value will be preferred over the environment variable settings. */ +#define GRPC_ARG_HTTP_PROXY "grpc.http_proxy" +/** If set to non zero, surfaces the user agent string to the server. User + agent is surfaced by default. */ +#define GRPC_ARG_SURFACE_USER_AGENT "grpc.surface_user_agent" +/** If set, inhibits health checking (which may be enabled via the + * service config.) */ +#define GRPC_ARG_INHIBIT_HEALTH_CHECKING "grpc.inhibit_health_checking" +/** If enabled, the channel's DNS resolver queries for SRV records. + * This is useful only when using the "grpclb" load balancing policy, + * as described in the following documents: + * https://github.com/grpc/proposal/blob/master/A5-grpclb-in-dns.md + * https://github.com/grpc/proposal/blob/master/A24-lb-policy-config.md + * https://github.com/grpc/proposal/blob/master/A26-grpclb-selection.md + * Note that this works only with the "ares" DNS resolver; it isn't supported + * by the "native" DNS resolver. */ +#define GRPC_ARG_DNS_ENABLE_SRV_QUERIES "grpc.dns_enable_srv_queries" +/** 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. */ +#define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS "grpc.dns_ares_query_timeout" +/** If set, uses a local subchannel pool within the channel. Otherwise, uses the + * global subchannel pool. */ +#define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL "grpc.use_local_subchannel_pool" +/** gRPC Objective-C channel pooling domain string. */ +#define GRPC_ARG_CHANNEL_POOL_DOMAIN "grpc.channel_pooling_domain" +/** gRPC Objective-C channel pooling id. */ +#define GRPC_ARG_CHANNEL_ID "grpc.channel_id" +/** Channel argument for grpc_authorization_policy_provider. If present, enables + gRPC authorization check. */ +#define GRPC_ARG_AUTHORIZATION_POLICY_PROVIDER \ + "grpc.authorization_policy_provider" +/** EXPERIMENTAL. Updates to a server's configuration from a config fetcher (for + * example, listener updates from xDS) cause all older connections to be + * gracefully shut down (i.e., "drained") with a grace period configured by this + * channel arg. Int valued, milliseconds. Defaults to 10 minutes.*/ +#define GRPC_ARG_SERVER_CONFIG_CHANGE_DRAIN_GRACE_TIME_MS \ + "grpc.experimental.server_config_change_drain_grace_time_ms" +/** \} */ + +/** 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. + Receiving any other value listed here is an indication of a bug in the + caller. */ +typedef enum grpc_call_error { + /** everything went ok */ + GRPC_CALL_OK = 0, + /** something failed, we don't know what */ + GRPC_CALL_ERROR, + /** this method is not available on the server */ + GRPC_CALL_ERROR_NOT_ON_SERVER, + /** this method is not available on the client */ + GRPC_CALL_ERROR_NOT_ON_CLIENT, + /** this method must be called before server_accept */ + GRPC_CALL_ERROR_ALREADY_ACCEPTED, + /** this method must be called before invoke */ + GRPC_CALL_ERROR_ALREADY_INVOKED, + /** this method must be called after invoke */ + GRPC_CALL_ERROR_NOT_INVOKED, + /** this call is already finished + (writes_done or write_status has already been called) */ + GRPC_CALL_ERROR_ALREADY_FINISHED, + /** there is already an outstanding read/write operation on the call */ + GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, + /** the flags value was illegal for this call */ + GRPC_CALL_ERROR_INVALID_FLAGS, + /** invalid metadata was passed to this call */ + GRPC_CALL_ERROR_INVALID_METADATA, + /** invalid message was passed to this call */ + GRPC_CALL_ERROR_INVALID_MESSAGE, + /** completion queue for notification has not been registered + * with the server */ + GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE, + /** this batch of operations leads to more operations than allowed */ + GRPC_CALL_ERROR_BATCH_TOO_BIG, + /** payload type requested is not the type registered */ + GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH, + /** completion queue has been shutdown */ + GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN +} grpc_call_error; + +/** Default send/receive message size limits in bytes. -1 for unlimited. */ +/** TODO(roth) Make this match the default receive limit after next release */ +#define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH (-1) +#define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024) + +/** Write Flags: */ +/** Hint that the write may be buffered and need not go out on the wire + immediately. GRPC is free to buffer the message until the next non-buffered + write, or until writes_done, but it need not buffer completely or at all. */ +#define GRPC_WRITE_BUFFER_HINT (0x00000001u) +/** Force compression to be disabled for a particular write + (start_write/add_metadata). Illegal on invoke/accept. */ +#define GRPC_WRITE_NO_COMPRESS (0x00000002u) +/** Force this message to be written to the socket before completing it */ +#define GRPC_WRITE_THROUGH (0x00000004u) +/** Mask of all valid flags. */ +#define GRPC_WRITE_USED_MASK \ + (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_THROUGH) + +/** Initial metadata flags */ +/** These flags are to be passed to the `grpc_op::flags` field */ +/** Signal that the call should not return UNAVAILABLE before it has started */ +#define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u) +/** Signal that GRPC_INITIAL_METADATA_WAIT_FOR_READY was explicitly set + by the calling application. */ +#define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u) + +/** Mask of all valid flags */ +#define GRPC_INITIAL_METADATA_USED_MASK \ + (GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \ + GRPC_INITIAL_METADATA_WAIT_FOR_READY | GRPC_WRITE_THROUGH) + +/** A single metadata element */ +typedef struct grpc_metadata { + /** the key, value values are expected to line up with grpc_mdelem: if + changing them, update metadata.h at the same time. */ + grpc_slice key; + grpc_slice value; + + /** The following fields are reserved for grpc internal use. + There is no need to initialize them, and they will be set to garbage + during calls to grpc. */ + struct /* internal */ { + void* obfuscated[4]; + } internal_data; +} grpc_metadata; + +/** The type of completion (for grpc_event) */ +typedef enum grpc_completion_type { + /** Shutting down */ + GRPC_QUEUE_SHUTDOWN, + /** No event before timeout */ + GRPC_QUEUE_TIMEOUT, + /** Operation completion */ + GRPC_OP_COMPLETE +} grpc_completion_type; + +/** The result of an operation. + + Returned by a completion queue when the operation started with tag. */ +typedef struct grpc_event { + /** The type of the completion. */ + grpc_completion_type type; + /** If the grpc_completion_type is GRPC_OP_COMPLETE, this field indicates + whether the operation was successful or not; 0 in case of failure and + non-zero in case of success. + If grpc_completion_type is GRPC_QUEUE_SHUTDOWN or GRPC_QUEUE_TIMEOUT, this + field is guaranteed to be 0 */ + int success; + /** The tag passed to grpc_call_start_batch etc to start this operation. + *Only* GRPC_OP_COMPLETE has a tag. For all other grpc_completion_type + values, tag is uninitialized. */ + void* tag; +} grpc_event; + +typedef struct { + size_t count; + size_t capacity; + grpc_metadata* metadata; +} grpc_metadata_array; + +typedef struct { + grpc_slice method; + grpc_slice host; + gpr_timespec deadline; +} grpc_call_details; + +typedef enum { + /** Send initial metadata: one and only one instance MUST be sent for each + call, unless the call was cancelled - in which case this can be skipped. + This op completes after all bytes of metadata have been accepted by + outgoing flow control. */ + GRPC_OP_SEND_INITIAL_METADATA = 0, + /** Send a message: 0 or more of these operations can occur for each call. + This op completes after all bytes for the message have been accepted by + outgoing flow control. */ + GRPC_OP_SEND_MESSAGE, + /** Send a close from the client: one and only one instance MUST be sent from + the client, unless the call was cancelled - in which case this can be + skipped. This op completes after all bytes for the call + (including the close) have passed outgoing flow control. */ + GRPC_OP_SEND_CLOSE_FROM_CLIENT, + /** Send status from the server: one and only one instance MUST be sent from + the server unless the call was cancelled - in which case this can be + skipped. This op completes after all bytes for the call + (including the status) have passed outgoing flow control. */ + GRPC_OP_SEND_STATUS_FROM_SERVER, + /** Receive initial metadata: one and only one MUST be made on the client, + must not be made on the server. + This op completes after all initial metadata has been read from the + peer. */ + GRPC_OP_RECV_INITIAL_METADATA, + /** Receive a message: 0 or more of these operations can occur for each call. + This op completes after all bytes of the received message have been + read, or after a half-close has been received on this call. */ + GRPC_OP_RECV_MESSAGE, + /** Receive status on the client: one and only one must be made on the client. + This operation always succeeds, meaning ops paired with this operation + will also appear to succeed, even though they may not have. In that case + the status will indicate some failure. + This op completes after all activity on the call has completed. */ + GRPC_OP_RECV_STATUS_ON_CLIENT, + /** Receive close on the server: one and only one must be made on the + server. This op completes after the close has been received by the + server. This operation always succeeds, meaning ops paired with + this operation will also appear to succeed, even though they may not + have. */ + GRPC_OP_RECV_CLOSE_ON_SERVER +} grpc_op_type; + +struct grpc_byte_buffer; + +/** Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT + which has no arguments) */ +typedef struct grpc_op { + /** Operation type, as defined by grpc_op_type */ + grpc_op_type op; + /** Write flags bitset for grpc_begin_messages */ + uint32_t flags; + /** Reserved for future usage */ + void* reserved; + union grpc_op_data { + /** Reserved for future usage */ + struct /* internal */ { + void* reserved[8]; + } reserved; + struct grpc_op_send_initial_metadata { + size_t count; + grpc_metadata* metadata; + /** If \a is_set, \a compression_level will be used for the call. + * Otherwise, \a compression_level won't be considered */ + struct grpc_op_send_initial_metadata_maybe_compression_level { + uint8_t is_set; + grpc_compression_level level; + } maybe_compression_level; + } send_initial_metadata; + struct grpc_op_send_message { + /** This op takes ownership of the slices in send_message. After + * a call completes, the contents of send_message are not guaranteed + * and likely empty. The original owner should still call + * grpc_byte_buffer_destroy() on this object however. + */ + struct grpc_byte_buffer* send_message; + } send_message; + struct grpc_op_send_status_from_server { + size_t trailing_metadata_count; + grpc_metadata* trailing_metadata; + grpc_status_code status; + /** optional: set to NULL if no details need sending, non-NULL if they do + * pointer will not be retained past the start_batch call + */ + grpc_slice* status_details; + } send_status_from_server; + /** ownership of the array is with the caller, but ownership of the elements + stays with the call object (ie key, value members are owned by the call + object, recv_initial_metadata->array is owned by the caller). + After the operation completes, call grpc_metadata_array_destroy on this + value, or reuse it in a future op. */ + struct grpc_op_recv_initial_metadata { + grpc_metadata_array* recv_initial_metadata; + } recv_initial_metadata; + /** ownership of the byte buffer is moved to the caller; the caller must + call grpc_byte_buffer_destroy on this value, or reuse it in a future op. + The returned byte buffer will be NULL if trailing metadata was + received instead of a message. + */ + struct grpc_op_recv_message { + struct grpc_byte_buffer** recv_message; + } recv_message; + struct grpc_op_recv_status_on_client { + /** ownership of the array is with the caller, but ownership of the + elements stays with the call object (ie key, value members are owned + by the call object, trailing_metadata->array is owned by the caller). + After the operation completes, call grpc_metadata_array_destroy on + this value, or reuse it in a future op. */ + grpc_metadata_array* trailing_metadata; + grpc_status_code* status; + grpc_slice* status_details; + /** If this is not nullptr, it will be populated with the full fidelity + * error string for debugging purposes. The application is responsible + * for freeing the data by using gpr_free(). */ + const char** error_string; + } recv_status_on_client; + struct grpc_op_recv_close_on_server { + /** out argument, set to 1 if the call failed at the server for + a reason other than a non-OK status (cancel, deadline + exceeded, network failure, etc.), 0 otherwise (RPC processing ran to + completion and was able to provide any status from the server) */ + int* cancelled; + } recv_close_on_server; + } data; +} grpc_op; + +/** Information requested from the channel. */ +typedef struct { + /** If non-NULL, will be set to point to a string indicating the LB + * policy name. Caller takes ownership. */ + char** lb_policy_name; + /** If non-NULL, will be set to point to a string containing the + * service config used by the channel in JSON form. */ + char** service_config_json; +} grpc_channel_info; + +typedef struct grpc_resource_quota grpc_resource_quota; + +/** Completion queues internally MAY maintain a set of file descriptors in a + structure called 'pollset'. This enum specifies if a completion queue has an + associated pollset and any restrictions on the type of file descriptors that + can be present in the pollset. + + I/O progress can only be made when grpc_completion_queue_next() or + grpc_completion_queue_pluck() are called on the completion queue (unless the + grpc_cq_polling_type is GRPC_CQ_NON_POLLING) and hence it is very important + to actively call these APIs */ +typedef enum { + /** The completion queue will have an associated pollset and there is no + restriction on the type of file descriptors the pollset may contain */ + GRPC_CQ_DEFAULT_POLLING, + + /** Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will + not contain any 'listening file descriptors' (i.e file descriptors used to + listen to incoming channels) */ + GRPC_CQ_NON_LISTENING, + + /** The completion queue will not have an associated pollset. Note that + grpc_completion_queue_next() or grpc_completion_queue_pluck() MUST still + be called to pop events from the completion queue; it is not required to + call them actively to make I/O progress */ + GRPC_CQ_NON_POLLING +} grpc_cq_polling_type; + +/** Specifies the type of APIs to use to pop events from the completion queue */ +typedef enum { + /** Events are popped out by calling grpc_completion_queue_next() API ONLY */ + GRPC_CQ_NEXT, + + /** Events are popped out by calling grpc_completion_queue_pluck() API ONLY*/ + GRPC_CQ_PLUCK, + + /** Events trigger a callback specified as the tag */ + GRPC_CQ_CALLBACK +} grpc_cq_completion_type; + +/** Specifies an interface class to be used as a tag for callback-based + * completion queues. This can be used directly, as the first element of a + * struct in C, or as a base class in C++. Its "run" value should be assigned to + * some non-member function, such as a static method. */ +typedef struct grpc_completion_queue_functor { + /** The run member specifies a function that will be called when this + tag is extracted from the completion queue. Its arguments will be a + pointer to this functor and a boolean that indicates whether the + operation succeeded (non-zero) or failed (zero) */ + void (*functor_run)(struct grpc_completion_queue_functor*, int); + + /** The inlineable member specifies whether this functor can be run inline. + This should only be used for trivial internally-defined functors. */ + int inlineable; + + /** The following fields are not API. They are meant for internal use. */ + int internal_success; + struct grpc_completion_queue_functor* internal_next; +} grpc_completion_queue_functor; + +#define GRPC_CQ_CURRENT_VERSION 2 +#define GRPC_CQ_VERSION_MINIMUM_FOR_CALLBACKABLE 2 +typedef struct grpc_completion_queue_attributes { + /** The version number of this structure. More fields might be added to this + structure in future. */ + int version; /** Set to GRPC_CQ_CURRENT_VERSION */ + + grpc_cq_completion_type cq_completion_type; + + grpc_cq_polling_type cq_polling_type; + + /* END OF VERSION 1 CQ ATTRIBUTES */ + + /* START OF VERSION 2 CQ ATTRIBUTES */ + /** When creating a callbackable CQ, pass in a functor to get invoked when + * shutdown is complete */ + grpc_completion_queue_functor* cq_shutdown_cb; + + /* END OF VERSION 2 CQ ATTRIBUTES */ +} grpc_completion_queue_attributes; + +/** The completion queue factory structure is opaque to the callers of grpc */ +typedef struct grpc_completion_queue_factory grpc_completion_queue_factory; + +#ifdef __cplusplus +} +#endif + +#endif /* GRPC_IMPL_GRPC_TYPES_H */ diff --git a/include/grpc/module.modulemap b/include/grpc/module.modulemap index 915de9adb20..ce9fa495db6 100644 --- a/include/grpc/module.modulemap +++ b/include/grpc/module.modulemap @@ -29,6 +29,7 @@ header "byte_buffer.h" header "impl/codegen/sync_generic.h" header "impl/compression_types.h" header "impl/connectivity_state.h" + header "impl/grpc_types.h" header "load_reporting.h" header "slice.h" header "slice_buffer.h" diff --git a/include/grpcpp/impl/call.h b/include/grpcpp/impl/call.h index 2a119963f57..ac4b85e20b9 100644 --- a/include/grpcpp/impl/call.h +++ b/include/grpcpp/impl/call.h @@ -19,7 +19,7 @@ #ifndef GRPCPP_IMPL_CALL_H #define GRPCPP_IMPL_CALL_H -#include +#include #include namespace grpc { diff --git a/include/grpcpp/impl/call_op_set.h b/include/grpcpp/impl/call_op_set.h index ab63a6076a4..fdde5d5ee30 100644 --- a/include/grpcpp/impl/call_op_set.h +++ b/include/grpcpp/impl/call_op_set.h @@ -24,8 +24,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/include/grpcpp/impl/create_auth_context.h b/include/grpcpp/impl/create_auth_context.h index e6c8c2ae76f..252b4aba93d 100644 --- a/include/grpcpp/impl/create_auth_context.h +++ b/include/grpcpp/impl/create_auth_context.h @@ -21,7 +21,7 @@ #include -#include +#include #include namespace grpc { diff --git a/include/grpcpp/impl/interceptor_common.h b/include/grpcpp/impl/interceptor_common.h index d71a3327550..4d0aac87c3d 100644 --- a/include/grpcpp/impl/interceptor_common.h +++ b/include/grpcpp/impl/interceptor_common.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/impl/proto_utils.h b/include/grpcpp/impl/proto_utils.h index dc2377575b2..34a08908615 100644 --- a/include/grpcpp/impl/proto_utils.h +++ b/include/grpcpp/impl/proto_utils.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/server_interface.h b/include/grpcpp/server_interface.h index fdd0ba22b69..ffd7028bf0e 100644 --- a/include/grpcpp/server_interface.h +++ b/include/grpcpp/server_interface.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/support/callback_common.h b/include/grpcpp/support/callback_common.h index 52136ebc24f..66caaf31f9b 100644 --- a/include/grpcpp/support/callback_common.h +++ b/include/grpcpp/support/callback_common.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/support/interceptor.h b/include/grpcpp/support/interceptor.h index ac9290fa74e..f221af98171 100644 --- a/include/grpcpp/support/interceptor.h +++ b/include/grpcpp/support/interceptor.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/support/proto_buffer_reader.h b/include/grpcpp/support/proto_buffer_reader.h index 9914eb14e21..80652c06232 100644 --- a/include/grpcpp/support/proto_buffer_reader.h +++ b/include/grpcpp/support/proto_buffer_reader.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/support/proto_buffer_writer.h b/include/grpcpp/support/proto_buffer_writer.h index 75af0c6d636..6f1e87974ae 100644 --- a/include/grpcpp/support/proto_buffer_writer.h +++ b/include/grpcpp/support/proto_buffer_writer.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/grpcpp/support/time.h b/include/grpcpp/support/time.h index df5d4149a60..f026d4685a7 100644 --- a/include/grpcpp/support/time.h +++ b/include/grpcpp/support/time.h @@ -21,7 +21,7 @@ #include -#include +#include #include namespace grpc { diff --git a/package.xml b/package.xml index 126b014c63f..bcbaf92ac43 100644 --- a/package.xml +++ b/package.xml @@ -70,6 +70,7 @@ + diff --git a/src/core/ext/filters/census/grpc_context.cc b/src/core/ext/filters/census/grpc_context.cc index de09ad9f3bd..48e7a2a7625 100644 --- a/src/core/ext/filters/census/grpc_context.cc +++ b/src/core/ext/filters/census/grpc_context.cc @@ -20,7 +20,7 @@ #include #include -#include +#include #include "src/core/lib/channel/context.h" #include "src/core/lib/debug/trace.h" diff --git a/src/core/ext/filters/channel_idle/channel_idle_filter.cc b/src/core/ext/filters/channel_idle/channel_idle_filter.cc index 479953a0df6..1e31d23fd05 100644 --- a/src/core/ext/filters/channel_idle/channel_idle_filter.cc +++ b/src/core/ext/filters/channel_idle/channel_idle_filter.cc @@ -26,7 +26,7 @@ #include "absl/types/optional.h" -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/filters/client_channel/channel_connectivity.cc b/src/core/ext/filters/client_channel/channel_connectivity.cc index 2c0223e28d1..c523d37e9da 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.cc +++ b/src/core/ext/filters/client_channel/channel_connectivity.cc @@ -25,8 +25,8 @@ #include #include -#include #include +#include #include #include diff --git a/src/core/ext/filters/client_channel/client_channel.h b/src/core/ext/filters/client_channel/client_channel.h index e079d423bfd..1ffd3e667ab 100644 --- a/src/core/ext/filters/client_channel/client_channel.h +++ b/src/core/ext/filters/client_channel/client_channel.h @@ -33,8 +33,8 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include #include +#include #include #include "src/core/ext/filters/client_channel/client_channel_factory.h" diff --git a/src/core/ext/filters/client_channel/config_selector.h b/src/core/ext/filters/client_channel/config_selector.h index 85e711609ca..86c5a4a72ca 100644 --- a/src/core/ext/filters/client_channel/config_selector.h +++ b/src/core/ext/filters/client_channel/config_selector.h @@ -27,7 +27,7 @@ #include "absl/status/statusor.h" #include "absl/strings/string_view.h" -#include +#include #include #include diff --git a/src/core/ext/filters/client_channel/http_proxy.cc b/src/core/ext/filters/client_channel/http_proxy.cc index b24fd0ab85f..9068020dd7e 100644 --- a/src/core/ext/filters/client_channel/http_proxy.cc +++ b/src/core/ext/filters/client_channel/http_proxy.cc @@ -35,7 +35,7 @@ #include "absl/strings/strip.h" #include "absl/types/optional.h" -#include +#include #include #include diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc index f796382a865..00eca550e80 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc @@ -83,9 +83,9 @@ #include #include #include -#include #include #include +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h index 565335f36d3..940198081bc 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h @@ -19,7 +19,7 @@ #include -#include +#include #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/resolver/server_address.h" diff --git a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc index 68724383a15..6d969020f85 100644 --- a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +++ b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc @@ -31,8 +31,8 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include #include +#include #include #include "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h" diff --git a/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc b/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc index e3908a1a416..c89b8f7801d 100644 --- a/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +++ b/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc @@ -34,8 +34,8 @@ #include "absl/types/optional.h" #include -#include #include +#include #include #include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h" diff --git a/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc b/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc index af628aaa80b..94d1a04fea6 100644 --- a/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +++ b/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc @@ -55,9 +55,9 @@ #include #include #include -#include #include #include +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc index 6035b796cef..29582d539df 100644 --- a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +++ b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc @@ -35,8 +35,8 @@ #include "absl/types/optional.h" #include -#include #include +#include #include #include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h" diff --git a/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc b/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc index 209154ea59a..87e09593b24 100644 --- a/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +++ b/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc @@ -32,7 +32,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h" diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc index 92ffa24d08c..ec913eb8491 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc @@ -34,7 +34,7 @@ #include "absl/strings/strip.h" #include "absl/types/optional.h" -#include +#include #include #include diff --git a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc index 1f32cd39647..4926f8cdec2 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc @@ -50,7 +50,7 @@ #include "absl/strings/str_cat.h" #include "absl/strings/str_format.h" -#include +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc index 8acf481833c..5aaaa1db4e2 100644 --- a/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc @@ -30,7 +30,7 @@ #include "absl/strings/strip.h" #include "absl/types/optional.h" -#include +#include #include #include "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h" diff --git a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h index eb2b585808b..7e6a50d6232 100644 --- a/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +++ b/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h @@ -22,7 +22,7 @@ #include "absl/base/thread_annotations.h" #include "absl/strings/string_view.h" -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/ref_counted.h" diff --git a/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc b/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc index 2d7fdf1fc01..1a890a80212 100644 --- a/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc @@ -34,7 +34,7 @@ #include #include -#include +#include #include #include "src/core/ext/xds/xds_bootstrap.h" diff --git a/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc b/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc index 0af0137bb1c..1d5cf678859 100644 --- a/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +++ b/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc @@ -47,7 +47,7 @@ #define XXH_INLINE_ALL #include "xxhash.h" -#include +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/retry_filter.cc b/src/core/ext/filters/client_channel/retry_filter.cc index ccc5e375ad3..2fe0d254577 100644 --- a/src/core/ext/filters/client_channel/retry_filter.cc +++ b/src/core/ext/filters/client_channel/retry_filter.cc @@ -35,7 +35,7 @@ #include "absl/strings/strip.h" #include "absl/types/optional.h" -#include +#include #include #include #include diff --git a/src/core/ext/filters/client_channel/retry_service_config.cc b/src/core/ext/filters/client_channel/retry_service_config.cc index b750ae1fb36..61d86edf5b1 100644 --- a/src/core/ext/filters/client_channel/retry_service_config.cc +++ b/src/core/ext/filters/client_channel/retry_service_config.cc @@ -27,7 +27,7 @@ #include "absl/strings/str_cat.h" #include "absl/types/optional.h" -#include +#include #include #include diff --git a/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc b/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc index e52d93b3993..2a7ed776438 100644 --- a/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +++ b/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc @@ -27,7 +27,7 @@ #include "absl/status/statusor.h" #include "absl/types/optional.h" -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/ext/filters/client_channel/subchannel.cc index f2404fafd68..38f829e9fa9 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/ext/filters/client_channel/subchannel.cc @@ -31,7 +31,7 @@ #include "absl/strings/str_cat.h" #include "absl/strings/string_view.h" -#include +#include #include #include #include diff --git a/src/core/ext/filters/deadline/deadline_filter.cc b/src/core/ext/filters/deadline/deadline_filter.cc index 4e05b1771c8..4ba697c4fc5 100644 --- a/src/core/ext/filters/deadline/deadline_filter.cc +++ b/src/core/ext/filters/deadline/deadline_filter.cc @@ -23,7 +23,7 @@ #include "absl/status/status.h" #include "absl/types/optional.h" -#include +#include #include #include diff --git a/src/core/ext/filters/http/client/http_client_filter.cc b/src/core/ext/filters/http/client/http_client_filter.cc index c17f76dbe1d..00b9f9e268a 100644 --- a/src/core/ext/filters/http/client/http_client_filter.cc +++ b/src/core/ext/filters/http/client/http_client_filter.cc @@ -34,7 +34,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/filters/http/client_authority_filter.cc b/src/core/ext/filters/http/client_authority_filter.cc index 19a6510666a..5e29bfd36d3 100644 --- a/src/core/ext/filters/http/client_authority_filter.cc +++ b/src/core/ext/filters/http/client_authority_filter.cc @@ -29,7 +29,7 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include +#include #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/channel_stack_builder.h" diff --git a/src/core/ext/filters/http/http_filters_plugin.cc b/src/core/ext/filters/http/http_filters_plugin.cc index 3cfbaae2da2..a8975c8e9a3 100644 --- a/src/core/ext/filters/http/http_filters_plugin.cc +++ b/src/core/ext/filters/http/http_filters_plugin.cc @@ -22,7 +22,7 @@ #include "absl/types/optional.h" -#include +#include #include "src/core/ext/filters/http/client/http_client_filter.h" #include "src/core/ext/filters/http/message_compress/compression_filter.h" diff --git a/src/core/ext/filters/http/message_compress/compression_filter.cc b/src/core/ext/filters/http/message_compress/compression_filter.cc index 5e56c519f6f..73eed496d5f 100644 --- a/src/core/ext/filters/http/message_compress/compression_filter.cc +++ b/src/core/ext/filters/http/message_compress/compression_filter.cc @@ -29,8 +29,8 @@ #include "absl/types/optional.h" #include -#include #include +#include #include #include "src/core/ext/filters/message_size/message_size_filter.h" diff --git a/src/core/ext/filters/http/server/http_server_filter.cc b/src/core/ext/filters/http/server/http_server_filter.cc index 60600b24562..63119650cd3 100644 --- a/src/core/ext/filters/http/server/http_server_filter.cc +++ b/src/core/ext/filters/http/server/http_server_filter.cc @@ -29,7 +29,7 @@ #include "absl/status/status.h" #include "absl/types/optional.h" -#include +#include #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" diff --git a/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc b/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc index 8733b3dda70..15c712677b9 100644 --- a/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc +++ b/src/core/ext/filters/load_reporting/server_load_reporting_filter.cc @@ -40,7 +40,7 @@ #include "opencensus/tags/tag_key.h" #include -#include +#include #include #include #include diff --git a/src/core/ext/filters/message_size/message_size_filter.cc b/src/core/ext/filters/message_size/message_size_filter.cc index 0f51c7faf69..c7a31ecb18e 100644 --- a/src/core/ext/filters/message_size/message_size_filter.cc +++ b/src/core/ext/filters/message_size/message_size_filter.cc @@ -23,7 +23,7 @@ #include "absl/status/status.h" #include "absl/strings/str_format.h" -#include +#include #include #include diff --git a/src/core/ext/transport/binder/client/binder_connector.h b/src/core/ext/transport/binder/client/binder_connector.h index fc4f13fc500..57c443fba1f 100644 --- a/src/core/ext/transport/binder/client/binder_connector.h +++ b/src/core/ext/transport/binder/client/binder_connector.h @@ -23,7 +23,7 @@ #include "absl/strings/string_view.h" #include "absl/strings/strip.h" -#include +#include #include #include diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.cc b/src/core/ext/transport/chttp2/client/chttp2_connector.cc index 326994eb6fb..b6c9ed938c3 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.cc +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.cc @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/core/ext/transport/chttp2/server/chttp2_server.cc b/src/core/ext/transport/chttp2/server/chttp2_server.cc index 835eb933c7b..2b61b3d60d0 100644 --- a/src/core/ext/transport/chttp2/server/chttp2_server.cc +++ b/src/core/ext/transport/chttp2/server/chttp2_server.cc @@ -41,7 +41,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc index 7e77d4ee38f..ec8adf4a0b1 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc @@ -39,8 +39,8 @@ #include "absl/types/optional.h" #include "absl/types/variant.h" -#include #include +#include #include #include #include diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h index 887fbb5965d..6cb427ca150 100644 --- a/src/core/ext/transport/chttp2/transport/internal.h +++ b/src/core/ext/transport/chttp2/transport/internal.h @@ -30,7 +30,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/ext/transport/chttp2/transport/flow_control.h" diff --git a/src/core/ext/transport/cronet/client/secure/cronet_channel_create.h b/src/core/ext/transport/cronet/client/secure/cronet_channel_create.h index 4dec0051491..e91fe7bba1d 100644 --- a/src/core/ext/transport/cronet/client/secure/cronet_channel_create.h +++ b/src/core/ext/transport/cronet/client/secure/cronet_channel_create.h @@ -21,7 +21,7 @@ #include -#include +#include #ifdef __cplusplus extern "C" { diff --git a/src/core/ext/transport/cronet/transport/cronet_transport.h b/src/core/ext/transport/cronet/transport/cronet_transport.h index 8ed98edfa14..15ad7881586 100644 --- a/src/core/ext/transport/cronet/transport/cronet_transport.h +++ b/src/core/ext/transport/cronet/transport/cronet_transport.h @@ -21,7 +21,7 @@ #include -#include +#include #include "src/core/lib/transport/transport_fwd.h" diff --git a/src/core/ext/transport/inproc/inproc_transport.h b/src/core/ext/transport/inproc/inproc_transport.h index 465d9b41b78..a59be5c4524 100644 --- a/src/core/ext/transport/inproc/inproc_transport.h +++ b/src/core/ext/transport/inproc/inproc_transport.h @@ -21,7 +21,7 @@ #include -#include +#include #include "src/core/lib/debug/trace.h" diff --git a/src/core/ext/xds/xds_certificate_provider.h b/src/core/ext/xds/xds_certificate_provider.h index 26a9582b386..1ab98f82996 100644 --- a/src/core/ext/xds/xds_certificate_provider.h +++ b/src/core/ext/xds/xds_certificate_provider.h @@ -30,7 +30,7 @@ #include "absl/strings/string_view.h" #include -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" diff --git a/src/core/ext/xds/xds_channel_stack_modifier.h b/src/core/ext/xds/xds_channel_stack_modifier.h index 9c46d3ecfdf..5e78ab52476 100644 --- a/src/core/ext/xds/xds_channel_stack_modifier.h +++ b/src/core/ext/xds/xds_channel_stack_modifier.h @@ -26,7 +26,7 @@ #include "absl/strings/string_view.h" -#include +#include #include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/channel/channel_stack_builder.h" diff --git a/src/core/ext/xds/xds_client_grpc.h b/src/core/ext/xds/xds_client_grpc.h index 1724cdd7282..248d0b50545 100644 --- a/src/core/ext/xds/xds_client_grpc.h +++ b/src/core/ext/xds/xds_client_grpc.h @@ -24,7 +24,7 @@ #include "absl/status/statusor.h" #include "absl/strings/string_view.h" -#include +#include #include "src/core/ext/xds/certificate_provider_store.h" #include "src/core/ext/xds/xds_bootstrap_grpc.h" diff --git a/src/core/ext/xds/xds_server_config_fetcher.cc b/src/core/ext/xds/xds_server_config_fetcher.cc index 08428d0928d..f3e749ea21d 100644 --- a/src/core/ext/xds/xds_server_config_fetcher.cc +++ b/src/core/ext/xds/xds_server_config_fetcher.cc @@ -42,7 +42,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/ext/xds/xds_transport_grpc.h b/src/core/ext/xds/xds_transport_grpc.h index a554db519a4..65189dfa7d8 100644 --- a/src/core/ext/xds/xds_transport_grpc.h +++ b/src/core/ext/xds/xds_transport_grpc.h @@ -25,7 +25,7 @@ #include "absl/status/status.h" -#include +#include #include #include diff --git a/src/core/lib/channel/channel_args.cc b/src/core/lib/channel/channel_args.cc index d5acbd462b2..46c8c5f3543 100644 --- a/src/core/lib/channel/channel_args.cc +++ b/src/core/lib/channel/channel_args.cc @@ -33,7 +33,7 @@ #include "absl/strings/str_format.h" #include "absl/strings/str_join.h" -#include +#include #include #include #include diff --git a/src/core/lib/channel/channel_args.h b/src/core/lib/channel/channel_args.h index 5d3bd2c9de0..974f3c55781 100644 --- a/src/core/lib/channel/channel_args.h +++ b/src/core/lib/channel/channel_args.h @@ -35,7 +35,7 @@ #include "absl/types/variant.h" #include -#include +#include #include "src/core/lib/avl/avl.h" #include "src/core/lib/gpr/useful.h" diff --git a/src/core/lib/channel/channel_args_preconditioning.h b/src/core/lib/channel/channel_args_preconditioning.h index 2f333aa2525..d68150d5127 100644 --- a/src/core/lib/channel/channel_args_preconditioning.h +++ b/src/core/lib/channel/channel_args_preconditioning.h @@ -20,7 +20,7 @@ #include #include -#include +#include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/channel/channel_stack.h b/src/core/lib/channel/channel_stack.h index 9fcb9c628df..2bd7aa883e4 100644 --- a/src/core/lib/channel/channel_stack.h +++ b/src/core/lib/channel/channel_stack.h @@ -52,7 +52,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/lib/channel/channel_stack_builder_impl.cc b/src/core/lib/channel/channel_stack_builder_impl.cc index db5d34ba6ea..2c309136771 100644 --- a/src/core/lib/channel/channel_stack_builder_impl.cc +++ b/src/core/lib/channel/channel_stack_builder_impl.cc @@ -27,7 +27,7 @@ #include "absl/status/status.h" -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/channel/channelz.h b/src/core/lib/channel/channelz.h index 9a221ecf397..359a729f83c 100644 --- a/src/core/lib/channel/channelz.h +++ b/src/core/lib/channel/channelz.h @@ -34,8 +34,8 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include #include +#include #include #include "src/core/lib/channel/channel_trace.h" diff --git a/src/core/lib/channel/connected_channel.cc b/src/core/lib/channel/connected_channel.cc index 260f71f219d..036fe1e66b2 100644 --- a/src/core/lib/channel/connected_channel.cc +++ b/src/core/lib/channel/connected_channel.cc @@ -36,7 +36,7 @@ #include "absl/types/optional.h" #include "absl/types/variant.h" -#include +#include #include #include diff --git a/src/core/lib/channel/promise_based_filter.h b/src/core/lib/channel/promise_based_filter.h index 75da4fe620e..0d0e230d210 100644 --- a/src/core/lib/channel/promise_based_filter.h +++ b/src/core/lib/channel/promise_based_filter.h @@ -40,7 +40,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/lib/channel/call_finalization.h" diff --git a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc index 3929e569f62..c264c94528d 100644 --- a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +++ b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc @@ -49,7 +49,7 @@ #include "absl/status/status.h" -#include +#include #include #include "src/core/lib/event_engine/tcp_socket_utils.h" diff --git a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h index f6afd57e309..dfae47a9994 100644 --- a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +++ b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include "src/core/lib/gprpp/ref_counted_ptr.h" diff --git a/src/core/lib/http/httpcli.h b/src/core/lib/http/httpcli.h index 34320851ace..bc7f298e603 100644 --- a/src/core/lib/http/httpcli.h +++ b/src/core/lib/http/httpcli.h @@ -33,7 +33,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/lib/gprpp/debug_location.h" diff --git a/src/core/lib/http/httpcli_security_connector.cc b/src/core/lib/http/httpcli_security_connector.cc index 5a708686df8..5591befefc4 100644 --- a/src/core/lib/http/httpcli_security_connector.cc +++ b/src/core/lib/http/httpcli_security_connector.cc @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/lib/iomgr/exec_ctx.h b/src/core/lib/iomgr/exec_ctx.h index b155885d3f5..0108c6fe281 100644 --- a/src/core/lib/iomgr/exec_ctx.h +++ b/src/core/lib/iomgr/exec_ctx.h @@ -23,7 +23,7 @@ #include -#include +#include #include #include #include diff --git a/src/core/lib/iomgr/socket_factory_posix.cc b/src/core/lib/iomgr/socket_factory_posix.cc index 11f865697c8..569c7ef4a92 100644 --- a/src/core/lib/iomgr/socket_factory_posix.cc +++ b/src/core/lib/iomgr/socket_factory_posix.cc @@ -22,7 +22,7 @@ #ifdef GRPC_POSIX_SOCKET_SOCKET_FACTORY -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/iomgr/socket_factory_posix.h b/src/core/lib/iomgr/socket_factory_posix.h index 287ae5f0ef3..eb14f093762 100644 --- a/src/core/lib/iomgr/socket_factory_posix.h +++ b/src/core/lib/iomgr/socket_factory_posix.h @@ -21,7 +21,7 @@ #include -#include +#include #include #include "src/core/lib/iomgr/resolve_address.h" diff --git a/src/core/lib/iomgr/socket_mutator.cc b/src/core/lib/iomgr/socket_mutator.cc index b908e22f753..882ba7a88e4 100644 --- a/src/core/lib/iomgr/socket_mutator.cc +++ b/src/core/lib/iomgr/socket_mutator.cc @@ -20,7 +20,7 @@ #include "src/core/lib/iomgr/socket_mutator.h" -#include +#include #include #include diff --git a/src/core/lib/iomgr/socket_mutator.h b/src/core/lib/iomgr/socket_mutator.h index f7564da56c9..81f6d5fbba5 100644 --- a/src/core/lib/iomgr/socket_mutator.h +++ b/src/core/lib/iomgr/socket_mutator.h @@ -23,7 +23,7 @@ #include -#include +#include #include /** How is an fd to be used? */ diff --git a/src/core/lib/iomgr/socket_utils_posix.cc b/src/core/lib/iomgr/socket_utils_posix.cc index edc610a349d..a03fc8deb2c 100644 --- a/src/core/lib/iomgr/socket_utils_posix.cc +++ b/src/core/lib/iomgr/socket_utils_posix.cc @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include "src/core/lib/iomgr/sockaddr.h" diff --git a/src/core/lib/iomgr/socket_utils_posix.h b/src/core/lib/iomgr/socket_utils_posix.h index 213d5c33160..21a3fe04668 100644 --- a/src/core/lib/iomgr/socket_utils_posix.h +++ b/src/core/lib/iomgr/socket_utils_posix.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include "src/core/lib/iomgr/error.h" #include "src/core/lib/iomgr/resolve_address.h" diff --git a/src/core/lib/iomgr/tcp_client.h b/src/core/lib/iomgr/tcp_client.h index 12edeb97b69..0f305f4099d 100644 --- a/src/core/lib/iomgr/tcp_client.h +++ b/src/core/lib/iomgr/tcp_client.h @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include "src/core/lib/iomgr/endpoint.h" diff --git a/src/core/lib/iomgr/tcp_posix.cc b/src/core/lib/iomgr/tcp_posix.cc index a2f362d1ba1..4d49dd962f6 100644 --- a/src/core/lib/iomgr/tcp_posix.cc +++ b/src/core/lib/iomgr/tcp_posix.cc @@ -18,7 +18,7 @@ #include -#include +#include #include "src/core/lib/gprpp/global_config_generic.h" #include "src/core/lib/iomgr/exec_ctx.h" diff --git a/src/core/lib/iomgr/tcp_server.h b/src/core/lib/iomgr/tcp_server.h index 93fdc30b199..2733bfa52a5 100644 --- a/src/core/lib/iomgr/tcp_server.h +++ b/src/core/lib/iomgr/tcp_server.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include "src/core/lib/iomgr/closure.h" #include "src/core/lib/iomgr/endpoint.h" diff --git a/src/core/lib/resource_quota/api.h b/src/core/lib/resource_quota/api.h index ee9cee3662f..045b71fbfea 100644 --- a/src/core/lib/resource_quota/api.h +++ b/src/core/lib/resource_quota/api.h @@ -20,7 +20,7 @@ #include #include -#include +#include #include "src/core/lib/config/core_configuration.h" #include "src/core/lib/resource_quota/resource_quota.h" diff --git a/src/core/lib/resource_quota/resource_quota.h b/src/core/lib/resource_quota/resource_quota.h index 6a03df87117..d66cf336acb 100644 --- a/src/core/lib/resource_quota/resource_quota.h +++ b/src/core/lib/resource_quota/resource_quota.h @@ -22,7 +22,7 @@ #include "absl/strings/string_view.h" -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/cpp_impl_of.h" diff --git a/src/core/lib/security/authorization/authorization_policy_provider.h b/src/core/lib/security/authorization/authorization_policy_provider.h index c5befcc3f46..cdeb3bf4bc0 100644 --- a/src/core/lib/security/authorization/authorization_policy_provider.h +++ b/src/core/lib/security/authorization/authorization_policy_provider.h @@ -20,7 +20,7 @@ #include "absl/strings/string_view.h" #include -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/dual_ref_counted.h" diff --git a/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc b/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc index cb36f9787d3..23fa17603f1 100644 --- a/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +++ b/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc @@ -16,7 +16,7 @@ #include #include -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" diff --git a/src/core/lib/security/context/security_context.h b/src/core/lib/security/context/security_context.h index 6e801e3f547..b768ac310e4 100644 --- a/src/core/lib/security/context/security_context.h +++ b/src/core/lib/security/context/security_context.h @@ -29,7 +29,7 @@ #include "absl/strings/string_view.h" #include -#include +#include #include #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/security/credentials/credentials.h b/src/core/lib/security/credentials/credentials.h index 8af5f99ddc7..37b00683ecf 100644 --- a/src/core/lib/security/credentials/credentials.h +++ b/src/core/lib/security/credentials/credentials.h @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/security/credentials/fake/fake_credentials.h b/src/core/lib/security/credentials/fake/fake_credentials.h index 4e8e8556a74..e8f86be82b7 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.h +++ b/src/core/lib/security/credentials/fake/fake_credentials.h @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/unique_type_name.h" diff --git a/src/core/lib/security/credentials/google_default/google_default_credentials.cc b/src/core/lib/security/credentials/google_default/google_default_credentials.cc index 5f7cffb89a6..ce2e3d66042 100644 --- a/src/core/lib/security/credentials/google_default/google_default_credentials.cc +++ b/src/core/lib/security/credentials/google_default/google_default_credentials.cc @@ -34,7 +34,7 @@ #include // IWYU pragma: keep #include -#include +#include #include #include #include diff --git a/src/core/lib/security/credentials/plugin/plugin_credentials.h b/src/core/lib/security/credentials/plugin/plugin_credentials.h index a8cd4f5baa2..a0edacdfd46 100644 --- a/src/core/lib/security/credentials/plugin/plugin_credentials.h +++ b/src/core/lib/security/credentials/plugin/plugin_credentials.h @@ -32,7 +32,7 @@ #include #include -#include +#include #include #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/security/credentials/ssl/ssl_credentials.cc b/src/core/lib/security/credentials/ssl/ssl_credentials.cc index 454989bd6e5..ef6f5ef4507 100644 --- a/src/core/lib/security/credentials/ssl/ssl_credentials.cc +++ b/src/core/lib/security/credentials/ssl/ssl_credentials.cc @@ -28,7 +28,7 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include +#include #include #include #include diff --git a/src/core/lib/security/credentials/tls/tls_credentials.cc b/src/core/lib/security/credentials/tls/tls_credentials.cc index cab5a93d48d..1426dd8ba52 100644 --- a/src/core/lib/security/credentials/tls/tls_credentials.cc +++ b/src/core/lib/security/credentials/tls/tls_credentials.cc @@ -28,7 +28,7 @@ #include #include -#include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/security/credentials/xds/xds_credentials.cc b/src/core/lib/security/credentials/xds/xds_credentials.cc index 4bbe42c9633..6bbe5174bc1 100644 --- a/src/core/lib/security/credentials/xds/xds_credentials.cc +++ b/src/core/lib/security/credentials/xds/xds_credentials.cc @@ -24,7 +24,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h" diff --git a/src/core/lib/security/security_connector/alts/alts_security_connector.cc b/src/core/lib/security/security_connector/alts/alts_security_connector.cc index 1ddced5311b..6bd7740d752 100644 --- a/src/core/lib/security/security_connector/alts/alts_security_connector.cc +++ b/src/core/lib/security/security_connector/alts/alts_security_connector.cc @@ -31,7 +31,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/lib/security/security_connector/fake/fake_security_connector.cc b/src/core/lib/security/security_connector/fake/fake_security_connector.cc index 785b8e890b8..f22a0a716d1 100644 --- a/src/core/lib/security/security_connector/fake/fake_security_connector.cc +++ b/src/core/lib/security/security_connector/fake/fake_security_connector.cc @@ -32,7 +32,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include #include diff --git a/src/core/lib/security/security_connector/security_connector.h b/src/core/lib/security/security_connector/security_connector.h index 0ef0dcaec16..7461ffc4eed 100644 --- a/src/core/lib/security/security_connector/security_connector.h +++ b/src/core/lib/security/security_connector/security_connector.h @@ -28,7 +28,7 @@ #include #include -#include +#include #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/security/security_connector/ssl_utils.cc b/src/core/lib/security/security_connector/ssl_utils.cc index e32aaea43f2..1347e5ab940 100644 --- a/src/core/lib/security/security_connector/ssl_utils.cc +++ b/src/core/lib/security/security_connector/ssl_utils.cc @@ -29,7 +29,7 @@ #include "absl/strings/str_cat.h" #include "absl/strings/str_split.h" -#include +#include #include #include #include diff --git a/src/core/lib/security/transport/secure_endpoint.h b/src/core/lib/security/transport/secure_endpoint.h index e6320d9225e..d1f492e9d44 100644 --- a/src/core/lib/security/transport/secure_endpoint.h +++ b/src/core/lib/security/transport/secure_endpoint.h @@ -23,7 +23,7 @@ #include -#include +#include #include #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/security/transport/security_handshaker.h b/src/core/lib/security/transport/security_handshaker.h index 96c5e6fe76d..255d846f505 100644 --- a/src/core/lib/security/transport/security_handshaker.h +++ b/src/core/lib/security/transport/security_handshaker.h @@ -21,7 +21,7 @@ #include -#include +#include #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/core_configuration.h" diff --git a/src/core/lib/security/transport/server_auth_filter.cc b/src/core/lib/security/transport/server_auth_filter.cc index 792e6576bc8..57bb21081cb 100644 --- a/src/core/lib/security/transport/server_auth_filter.cc +++ b/src/core/lib/security/transport/server_auth_filter.cc @@ -27,7 +27,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/core/lib/surface/byte_buffer.cc b/src/core/lib/surface/byte_buffer.cc index ed8e5a06fe6..b87dd347c8a 100644 --- a/src/core/lib/surface/byte_buffer.cc +++ b/src/core/lib/surface/byte_buffer.cc @@ -21,8 +21,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/core/lib/surface/byte_buffer_reader.cc b/src/core/lib/surface/byte_buffer_reader.cc index fa13bd06e9d..288d0a749d5 100644 --- a/src/core/lib/surface/byte_buffer_reader.cc +++ b/src/core/lib/surface/byte_buffer_reader.cc @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include diff --git a/src/core/lib/surface/call.h b/src/core/lib/surface/call.h index bee1661d2d2..432da9f2a88 100644 --- a/src/core/lib/surface/call.h +++ b/src/core/lib/surface/call.h @@ -28,8 +28,8 @@ #include "absl/strings/string_view.h" #include "absl/types/optional.h" -#include #include +#include #include #include diff --git a/src/core/lib/surface/call_details.cc b/src/core/lib/surface/call_details.cc index 07796613319..08e14eb102e 100644 --- a/src/core/lib/surface/call_details.cc +++ b/src/core/lib/surface/call_details.cc @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/surface/call_log_batch.cc b/src/core/lib/surface/call_log_batch.cc index fbc1eda6e73..31212996f84 100644 --- a/src/core/lib/surface/call_log_batch.cc +++ b/src/core/lib/surface/call_log_batch.cc @@ -29,7 +29,7 @@ #include "absl/strings/str_join.h" #include "absl/strings/string_view.h" -#include +#include #include #include diff --git a/src/core/lib/surface/call_test_only.h b/src/core/lib/surface/call_test_only.h index 3c4342883e3..8dfba5824b7 100644 --- a/src/core/lib/surface/call_test_only.h +++ b/src/core/lib/surface/call_test_only.h @@ -23,8 +23,8 @@ #include -#include #include +#include /** Return the message compression algorithm from \a call. * diff --git a/src/core/lib/surface/channel.h b/src/core/lib/surface/channel.h index b0cdae32c7c..2330b8c2cf9 100644 --- a/src/core/lib/surface/channel.h +++ b/src/core/lib/surface/channel.h @@ -36,8 +36,8 @@ #include #include -#include #include +#include #include #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/surface/channel_ping.cc b/src/core/lib/surface/channel_ping.cc index 1fc357ecd13..170e4148e50 100644 --- a/src/core/lib/surface/channel_ping.cc +++ b/src/core/lib/surface/channel_ping.cc @@ -18,7 +18,7 @@ #include -#include +#include #include #include diff --git a/src/core/lib/surface/completion_queue.h b/src/core/lib/surface/completion_queue.h index 52f61e0b747..1680a6539e8 100644 --- a/src/core/lib/surface/completion_queue.h +++ b/src/core/lib/surface/completion_queue.h @@ -25,7 +25,7 @@ #include -#include +#include #include "src/core/lib/debug/trace.h" #include "src/core/lib/gprpp/manual_constructor.h" diff --git a/src/core/lib/surface/completion_queue_factory.h b/src/core/lib/surface/completion_queue_factory.h index e8fb3015888..9084dce1381 100644 --- a/src/core/lib/surface/completion_queue_factory.h +++ b/src/core/lib/surface/completion_queue_factory.h @@ -21,7 +21,7 @@ #include -#include +#include typedef struct grpc_completion_queue_factory_vtable { grpc_completion_queue* (*create)(const grpc_completion_queue_factory*, diff --git a/src/core/lib/surface/event_string.h b/src/core/lib/surface/event_string.h index e62cfa4edd1..44d0ad3b82e 100644 --- a/src/core/lib/surface/event_string.h +++ b/src/core/lib/surface/event_string.h @@ -23,7 +23,7 @@ #include -#include +#include /* Returns a string describing an event. Must be later freed with gpr_free() */ std::string grpc_event_string(grpc_event* ev); diff --git a/src/core/lib/surface/init.cc b/src/core/lib/surface/init.cc index e803cc88064..b2a5d325024 100644 --- a/src/core/lib/surface/init.cc +++ b/src/core/lib/surface/init.cc @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/core/lib/surface/lame_client.h b/src/core/lib/surface/lame_client.h index ef5a8d6247a..a4579450d1f 100644 --- a/src/core/lib/surface/lame_client.h +++ b/src/core/lib/surface/lame_client.h @@ -27,7 +27,7 @@ #include "absl/status/status.h" #include "absl/status/statusor.h" -#include +#include #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_fwd.h" diff --git a/src/core/lib/surface/metadata_array.cc b/src/core/lib/surface/metadata_array.cc index 859373801cd..83e2dfb8a94 100644 --- a/src/core/lib/surface/metadata_array.cc +++ b/src/core/lib/surface/metadata_array.cc @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include "src/core/lib/debug/trace.h" diff --git a/src/core/lib/surface/server.h b/src/core/lib/surface/server.h index d3c43962433..e49a918fff1 100644 --- a/src/core/lib/surface/server.h +++ b/src/core/lib/surface/server.h @@ -35,7 +35,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include #include diff --git a/src/core/lib/transport/handshaker.cc b/src/core/lib/transport/handshaker.cc index 27c519c2f8c..65a96947c98 100644 --- a/src/core/lib/transport/handshaker.cc +++ b/src/core/lib/transport/handshaker.cc @@ -29,7 +29,7 @@ #include "absl/strings/str_format.h" #include -#include +#include #include #include #include diff --git a/src/core/tsi/ssl/session_cache/ssl_session_cache.h b/src/core/tsi/ssl/session_cache/ssl_session_cache.h index 75ecd0278d6..689ff05a629 100644 --- a/src/core/tsi/ssl/session_cache/ssl_session_cache.h +++ b/src/core/tsi/ssl/session_cache/ssl_session_cache.h @@ -25,7 +25,7 @@ #include -#include +#include #include #include diff --git a/src/cpp/client/channel_cc.cc b/src/cpp/client/channel_cc.cc index a56b90115c1..c83d9f74a91 100644 --- a/src/cpp/client/channel_cc.cc +++ b/src/cpp/client/channel_cc.cc @@ -24,8 +24,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/cpp/client/client_callback.cc b/src/cpp/client/client_callback.cc index b4735c2b829..81be7390567 100644 --- a/src/cpp/client/client_callback.cc +++ b/src/cpp/client/client_callback.cc @@ -19,7 +19,7 @@ #include "absl/status/status.h" -#include +#include #include #include diff --git a/src/cpp/client/client_context.cc b/src/cpp/client/client_context.cc index 730fb443a43..740b3914e51 100644 --- a/src/cpp/client/client_context.cc +++ b/src/cpp/client/client_context.cc @@ -26,8 +26,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/cpp/client/create_channel_internal.h b/src/cpp/client/create_channel_internal.h index abbaae4e345..8713b6e122d 100644 --- a/src/cpp/client/create_channel_internal.h +++ b/src/cpp/client/create_channel_internal.h @@ -23,7 +23,7 @@ #include #include -#include +#include #include #include diff --git a/src/cpp/client/create_channel_posix.cc b/src/cpp/client/create_channel_posix.cc index 2252c24d057..e1bc73a4b39 100644 --- a/src/cpp/client/create_channel_posix.cc +++ b/src/cpp/client/create_channel_posix.cc @@ -24,7 +24,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/cpp/client/insecure_credentials.cc b/src/cpp/client/insecure_credentials.cc index 9392c1d3180..e98801bc850 100644 --- a/src/cpp/client/insecure_credentials.cc +++ b/src/cpp/client/insecure_credentials.cc @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/client/secure_credentials.h b/src/cpp/client/secure_credentials.h index 86a63f81ce9..628d5fd748b 100644 --- a/src/cpp/client/secure_credentials.h +++ b/src/cpp/client/secure_credentials.h @@ -29,7 +29,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/common/alarm.cc b/src/cpp/common/alarm.cc index 0db78fc7b0b..1b8acafb7bb 100644 --- a/src/cpp/common/alarm.cc +++ b/src/cpp/common/alarm.cc @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/common/channel_arguments.cc b/src/cpp/common/channel_arguments.cc index 58032851e07..8966f3cbb5c 100644 --- a/src/cpp/common/channel_arguments.cc +++ b/src/cpp/common/channel_arguments.cc @@ -20,8 +20,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/cpp/common/channel_filter.h b/src/cpp/common/channel_filter.h index de3bcbc7252..b78a7938b02 100644 --- a/src/cpp/common/channel_filter.h +++ b/src/cpp/common/channel_filter.h @@ -30,7 +30,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include diff --git a/src/cpp/common/completion_queue_cc.cc b/src/cpp/common/completion_queue_cc.cc index 820b1f94628..9217e9a1c9e 100644 --- a/src/cpp/common/completion_queue_cc.cc +++ b/src/cpp/common/completion_queue_cc.cc @@ -20,7 +20,7 @@ #include "absl/base/thread_annotations.h" #include -#include +#include #include #include #include diff --git a/src/cpp/common/core_codegen.cc b/src/cpp/common/core_codegen.cc index 067aca4f478..57fb8a2843f 100644 --- a/src/cpp/common/core_codegen.cc +++ b/src/cpp/common/core_codegen.cc @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/common/insecure_create_auth_context.cc b/src/cpp/common/insecure_create_auth_context.cc index adcf4e77a37..e681b4ceba0 100644 --- a/src/cpp/common/insecure_create_auth_context.cc +++ b/src/cpp/common/insecure_create_auth_context.cc @@ -17,7 +17,7 @@ */ #include -#include +#include #include namespace grpc { diff --git a/src/cpp/common/secure_channel_arguments.cc b/src/cpp/common/secure_channel_arguments.cc index 39282c8176c..540c9c73f7f 100644 --- a/src/cpp/common/secure_channel_arguments.cc +++ b/src/cpp/common/secure_channel_arguments.cc @@ -19,7 +19,7 @@ #include #include -#include +#include #include namespace grpc { diff --git a/src/cpp/common/secure_create_auth_context.cc b/src/cpp/common/secure_create_auth_context.cc index feb3885d528..3bd42308df8 100644 --- a/src/cpp/common/secure_create_auth_context.cc +++ b/src/cpp/common/secure_create_auth_context.cc @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include "src/core/lib/gprpp/ref_counted_ptr.h" diff --git a/src/cpp/ext/filters/census/server_filter.h b/src/cpp/ext/filters/census/server_filter.h index da7c86418da..860e6d99aba 100644 --- a/src/cpp/ext/filters/census/server_filter.h +++ b/src/cpp/ext/filters/census/server_filter.h @@ -31,7 +31,7 @@ #include "absl/types/optional.h" #include -#include +#include #include #include "src/core/lib/channel/channel_fwd.h" diff --git a/src/cpp/server/insecure_server_credentials.cc b/src/cpp/server/insecure_server_credentials.cc index c813af00760..caa9bc88123 100644 --- a/src/cpp/server/insecure_server_credentials.cc +++ b/src/cpp/server/insecure_server_credentials.cc @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc b/src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc index bdb99664aaa..b26fdc7090e 100644 --- a/src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc +++ b/src/cpp/server/load_reporter/load_reporting_service_server_builder_option.cc @@ -22,7 +22,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/server/secure_server_credentials.h b/src/cpp/server/secure_server_credentials.h index 78f3dfc9b7b..dcf787a6f17 100644 --- a/src/cpp/server/secure_server_credentials.h +++ b/src/cpp/server/secure_server_credentials.h @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include diff --git a/src/cpp/server/server_builder.cc b/src/cpp/server/server_builder.cc index d00ff1f2678..8f7221e321b 100644 --- a/src/cpp/server/server_builder.cc +++ b/src/cpp/server/server_builder.cc @@ -28,8 +28,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/cpp/server/server_cc.cc b/src/cpp/server/server_cc.cc index 0a04e08dae8..ccc1a7361e2 100644 --- a/src/cpp/server/server_cc.cc +++ b/src/cpp/server/server_cc.cc @@ -32,7 +32,7 @@ #include #include -#include +#include #include #include #include diff --git a/src/cpp/server/server_context.cc b/src/cpp/server/server_context.cc index d58309ac1f9..19ceaaeaee0 100644 --- a/src/cpp/server/server_context.cc +++ b/src/cpp/server/server_context.cc @@ -31,8 +31,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/cpp/util/byte_buffer_cc.cc b/src/cpp/util/byte_buffer_cc.cc index 001fa8c9a53..a072fb8d936 100644 --- a/src/cpp/util/byte_buffer_cc.cc +++ b/src/cpp/util/byte_buffer_cc.cc @@ -20,8 +20,8 @@ #include #include -#include #include +#include #include #include #include diff --git a/src/objective-c/GRPCClient/private/GRPCCore/ChannelArgsUtil.h b/src/objective-c/GRPCClient/private/GRPCCore/ChannelArgsUtil.h index 038f2d88f9b..a7f48ffcc0b 100644 --- a/src/objective-c/GRPCClient/private/GRPCCore/ChannelArgsUtil.h +++ b/src/objective-c/GRPCClient/private/GRPCCore/ChannelArgsUtil.h @@ -18,7 +18,7 @@ #import -#include +#include /** Free resources in the grpc core struct grpc_channel_args */ void GRPCFreeChannelArgs(grpc_channel_args* channel_args); diff --git a/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannelFactory.h b/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannelFactory.h index a934e966e9d..16b84600c13 100644 --- a/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannelFactory.h +++ b/src/objective-c/GRPCClient/private/GRPCCore/GRPCChannelFactory.h @@ -18,7 +18,7 @@ #import -#include +#include NS_ASSUME_NONNULL_BEGIN diff --git a/src/ruby/ext/grpc/rb_compression_options.c b/src/ruby/ext/grpc/rb_compression_options.c index 0c0e5a9ca8a..28d6d308616 100644 --- a/src/ruby/ext/grpc/rb_compression_options.c +++ b/src/ruby/ext/grpc/rb_compression_options.c @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test/core/iomgr/stranded_event_test.cc b/test/core/iomgr/stranded_event_test.cc index b2502aeb4fe..8ee1e9c41c7 100644 --- a/test/core/iomgr/stranded_event_test.cc +++ b/test/core/iomgr/stranded_event_test.cc @@ -33,7 +33,7 @@ #include #include -#include +#include #include #include #include diff --git a/test/core/surface/public_headers_must_be_c89.c b/test/core/surface/public_headers_must_be_c89.c index 68628aa1060..6e3c877e40c 100644 --- a/test/core/surface/public_headers_must_be_c89.c +++ b/test/core/surface/public_headers_must_be_c89.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc index 7d2fa31995f..22ea6a8f778 100644 --- a/test/cpp/naming/resolver_component_test.cc +++ b/test/cpp/naming/resolver_component_test.cc @@ -34,7 +34,7 @@ #include "absl/strings/str_format.h" #include -#include +#include #include #include #include diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index df2327b3686..bebee0192b5 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -918,6 +918,7 @@ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ +include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 050b619e8cc..222370a3262 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -918,6 +918,7 @@ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ +include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \ diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core index f9e5084b0ff..001607281ed 100644 --- a/tools/doxygen/Doxyfile.core +++ b/tools/doxygen/Doxyfile.core @@ -848,6 +848,7 @@ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ +include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index a0fbcc8abdf..5eec014fdf1 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -848,6 +848,7 @@ include/grpc/impl/codegen/sync_posix.h \ include/grpc/impl/codegen/sync_windows.h \ include/grpc/impl/compression_types.h \ include/grpc/impl/connectivity_state.h \ +include/grpc/impl/grpc_types.h \ include/grpc/load_reporting.h \ include/grpc/slice.h \ include/grpc/slice_buffer.h \