GRPC C++  1.26.0
grpc_types.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2015 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #ifndef GRPC_IMPL_CODEGEN_GRPC_TYPES_H
20 #define GRPC_IMPL_CODEGEN_GRPC_TYPES_H
21 
23 
28 
29 #include <stddef.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 typedef enum {
39 
40 typedef struct grpc_byte_buffer {
41  void* reserved;
42  grpc_byte_buffer_type type;
44  struct /* internal */ {
45  void* reserved[8];
46  } reserved;
50  } raw;
51  } data;
53 
57 
59 typedef struct grpc_alarm grpc_alarm;
60 
62 typedef struct grpc_channel grpc_channel;
63 
65 typedef struct grpc_server grpc_server;
66 
70 typedef struct grpc_call grpc_call;
71 
74 
77 
79 typedef enum {
84 
85 typedef struct grpc_arg_pointer_vtable {
86  void* (*copy)(void* p);
87  void (*destroy)(void* p);
88  int (*cmp)(void* p, void* q);
90 
103 typedef struct {
104  grpc_arg_type type;
105  char* key;
107  char* string;
108  int integer;
110  void* p;
112  } pointer;
113  } value;
114 } grpc_arg;
115 
132 typedef struct {
133  size_t num_args;
136 
142 #define GRPC_ARG_ENABLE_CENSUS "grpc.census"
143 
144 #define GRPC_ARG_ENABLE_LOAD_REPORTING "grpc.loadreporting"
145 
147 #define GRPC_ARG_MINIMAL_STACK "grpc.minimal_stack"
148 
150 #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
151 
153 #define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH "grpc.max_receive_message_length"
154 
156 #define GRPC_ARG_MAX_MESSAGE_LENGTH GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH
157 
159 #define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH "grpc.max_send_message_length"
160 
163 #define GRPC_ARG_MAX_CONNECTION_IDLE_MS "grpc.max_connection_idle_ms"
164 
166 #define GRPC_ARG_MAX_CONNECTION_AGE_MS "grpc.max_connection_age_ms"
167 
169 #define GRPC_ARG_MAX_CONNECTION_AGE_GRACE_MS "grpc.max_connection_age_grace_ms"
170 
173 #define GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS "grpc.client_idle_timeout_ms"
174 
176 #define GRPC_ARG_ENABLE_PER_MESSAGE_COMPRESSION "grpc.per_message_compression"
177 
179 #define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking"
180 
181 #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
182  "grpc.http2.initial_sequence_number"
183 
187 #define GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES "grpc.http2.lookahead_bytes"
188 
189 #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_DECODER \
190  "grpc.http2.hpack_table_size.decoder"
191 
192 #define GRPC_ARG_HTTP2_HPACK_TABLE_SIZE_ENCODER \
193  "grpc.http2.hpack_table_size.encoder"
194 
197 #define GRPC_ARG_HTTP2_MAX_FRAME_SIZE "grpc.http2.max_frame_size"
198 
199 #define GRPC_ARG_HTTP2_BDP_PROBE "grpc.http2.bdp_probe"
200 
202 #define GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS \
203  "grpc.http2.min_time_between_pings_ms"
204 
206 #define GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS \
207  "grpc.http2.min_ping_interval_without_data_ms"
208 
209 #define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
210 
213 #define GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA \
214  "grpc.http2.max_pings_without_data"
215 
218 #define GRPC_ARG_HTTP2_MAX_PING_STRIKES "grpc.http2.max_ping_strikes"
219 
221 #define GRPC_ARG_HTTP2_WRITE_BUFFER_SIZE "grpc.http2.write_buffer_size"
222 
224 #define GRPC_ARG_HTTP2_ENABLE_TRUE_BINARY "grpc.http2.true_binary"
225 
227 #define GRPC_ARG_KEEPALIVE_TIME_MS "grpc.keepalive_time_ms"
228 
231 #define GRPC_ARG_KEEPALIVE_TIMEOUT_MS "grpc.keepalive_timeout_ms"
232 
234 #define GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS \
235  "grpc.keepalive_permit_without_calls"
236 
238 #define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
239 
241 #define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
242 
244 #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
245 
246 #define GRPC_ARG_MIN_RECONNECT_BACKOFF_MS "grpc.min_reconnect_backoff_ms"
247 
248 #define GRPC_ARG_MAX_RECONNECT_BACKOFF_MS "grpc.max_reconnect_backoff_ms"
249 
250 #define GRPC_ARG_INITIAL_RECONNECT_BACKOFF_MS \
251  "grpc.initial_reconnect_backoff_ms"
252 
253 #define GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS \
254  "grpc.dns_min_time_between_resolutions_ms"
255 
257 #define GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS "grpc.server_handshake_timeout_ms"
258 
265 #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
266 
269 #define GRPC_SSL_SESSION_CACHE_ARG "grpc.ssl_session_cache"
270 
277 #define GRPC_ARG_TSI_MAX_FRAME_SIZE "grpc.tsi.max_frame_size"
278 
280 #define GRPC_ARG_MAX_METADATA_SIZE "grpc.max_metadata_size"
281 
282 #define GRPC_ARG_ALLOW_REUSEPORT "grpc.so_reuseport"
283 
286 #define GRPC_ARG_RESOURCE_QUOTA "grpc.resource_quota"
287 
288 #define GRPC_ARG_EXPAND_WILDCARD_ADDRS "grpc.expand_wildcard_addrs"
289 
291 #define GRPC_ARG_SERVICE_CONFIG "grpc.service_config"
292 
293 #define GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION \
294  "grpc.service_config_disable_resolution"
295 
296 #define GRPC_ARG_LB_POLICY_NAME "grpc.lb_policy_name"
297 
298 #define GRPC_ARG_SOCKET_MUTATOR "grpc.socket_mutator"
299 
300 #define GRPC_ARG_SOCKET_FACTORY "grpc.socket_factory"
301 
305 #define GRPC_ARG_MAX_CHANNEL_TRACE_EVENT_MEMORY_PER_NODE \
306  "grpc.max_channel_trace_event_memory_per_node"
307 
310 #define GRPC_ARG_ENABLE_CHANNELZ "grpc.enable_channelz"
311 
313 #define GRPC_ARG_USE_CRONET_PACKET_COALESCING \
314  "grpc.use_cronet_packet_coalescing"
315 
317 #define GRPC_ARG_TCP_READ_CHUNK_SIZE "grpc.experimental.tcp_read_chunk_size"
318 
321 #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
322 #define GRPC_ARG_TCP_MIN_READ_CHUNK_SIZE \
323  "grpc.experimental.tcp_min_read_chunk_size"
324 #define GRPC_ARG_TCP_MAX_READ_CHUNK_SIZE \
325  "grpc.experimental.tcp_max_read_chunk_size"
326 /* Timeout in milliseconds to use for calls to the grpclb load balancer.
327  If 0 or unset, the balancer calls will have no deadline. */
328 #define GRPC_ARG_GRPCLB_CALL_TIMEOUT_MS "grpc.grpclb_call_timeout_ms"
329 /* Timeout in milliseconds to wait for the serverlist from the grpclb load
330  balancer before using fallback backend addresses from the resolver.
331  If 0, enter fallback mode immediately. Default value is 10000. */
332 #define GRPC_ARG_GRPCLB_FALLBACK_TIMEOUT_MS "grpc.grpclb_fallback_timeout_ms"
333 /* Timeout in milliseconds to wait for the serverlist from the xDS load
334  balancer before using fallback backend addresses from the resolver.
335  If 0, enter fallback mode immediately. Default value is 10000. */
336 #define GRPC_ARG_XDS_FALLBACK_TIMEOUT_MS "grpc.xds_fallback_timeout_ms"
337 /* Time in milliseconds to wait before a locality is deleted after it's removed
338  from the received EDS update. If 0, delete the locality immediately. Default
339  value is 15 minutes. */
340 #define GRPC_ARG_LOCALITY_RETENTION_INTERVAL_MS \
341  "grpc.xds_locality_retention_interval_ms"
342 /* Timeout in milliseconds to wait for the localities of a specific priority to
343  complete their initial connection attempt before xDS fails over to the next
344  priority. Specifically, the connection attempt of a priority is considered
345  completed when any locality of that priority is ready or all the localities
346  of that priority fail to connect. If 0, failover happens immediately. Default
347  value is 10 seconds. */
348 #define GRPC_ARG_XDS_FAILOVER_TIMEOUT_MS "grpc.xds_failover_timeout_ms"
349 
350 #define GRPC_ARG_WORKAROUND_CRONET_COMPRESSION \
351  "grpc.workaround.cronet_compression"
352 
359 #define GRPC_ARG_OPTIMIZATION_TARGET "grpc.optimization_target"
360 
365 #define GRPC_ARG_ENABLE_RETRIES "grpc.enable_retries"
366 
367 #define GRPC_ARG_PER_RPC_RETRY_BUFFER_SIZE "grpc.per_rpc_retry_buffer_size"
368 
370 #define GRPC_ARG_MOBILE_LOG_CONTEXT "grpc.mobile_log_context"
371 
372 #define GRPC_ARG_DISABLE_CLIENT_AUTHORITY_FILTER \
373  "grpc.disable_client_authority_filter"
374 
375 #define GRPC_ARG_ENABLE_HTTP_PROXY "grpc.enable_http_proxy"
376 
378 #define GRPC_ARG_SURFACE_USER_AGENT "grpc.surface_user_agent"
379 
381 #define GRPC_ARG_INHIBIT_HEALTH_CHECKING "grpc.inhibit_health_checking"
382 
386 #define GRPC_ARG_DNS_ENABLE_SRV_QUERIES "grpc.dns_enable_srv_queries"
387 
393 #define GRPC_ARG_DNS_ARES_QUERY_TIMEOUT_MS "grpc.dns_ares_query_timeout"
394 
396 #define GRPC_ARG_USE_LOCAL_SUBCHANNEL_POOL "grpc.use_local_subchannel_pool"
397 
398 #define GRPC_ARG_CHANNEL_POOL_DOMAIN "grpc.channel_pooling_domain"
399 
400 #define GRPC_ARG_CHANNEL_ID "grpc.channel_id"
401 
407 typedef enum grpc_call_error {
443 
446 #define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH -1
447 #define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024)
448 
453 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
454 
456 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
457 
458 #define GRPC_WRITE_THROUGH (0x00000004u)
459 
460 #define GRPC_WRITE_USED_MASK \
461  (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_THROUGH)
462 
465 #define GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST (0x00000010u)
466 
467 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u)
468 
469 #define GRPC_INITIAL_METADATA_CACHEABLE_REQUEST (0x00000040u)
470 
472 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u)
473 
474 #define GRPC_INITIAL_METADATA_CORKED (0x00000100u)
475 
477 #define GRPC_INITIAL_METADATA_USED_MASK \
478  (GRPC_INITIAL_METADATA_IDEMPOTENT_REQUEST | \
479  GRPC_INITIAL_METADATA_WAIT_FOR_READY | \
480  GRPC_INITIAL_METADATA_CACHEABLE_REQUEST | \
481  GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \
482  GRPC_INITIAL_METADATA_CORKED | GRPC_WRITE_THROUGH)
483 
485 typedef struct grpc_metadata {
490 
491  uint32_t flags;
492 
496  struct /* internal */ {
497  void* obfuscated[4];
498  } internal_data;
499 } grpc_metadata;
500 
502 typedef enum grpc_completion_type {
510 
514 typedef struct grpc_event {
516  grpc_completion_type type;
522  int success;
526  void* tag;
527 } grpc_event;
528 
529 typedef struct {
530  size_t count;
531  size_t capacity;
534 
535 typedef struct {
539  uint32_t flags;
540  void* reserved;
542 
543 typedef enum {
584 } grpc_op_type;
585 
586 struct grpc_byte_buffer;
587 
590 typedef struct grpc_op {
592  grpc_op_type op;
594  uint32_t flags;
596  void* reserved;
597  union grpc_op_data {
599  struct /* internal */ {
600  void* reserved[8];
601  } reserved;
603  size_t count;
608  uint8_t is_set;
610  } maybe_compression_level;
611  } send_initial_metadata;
619  } send_message;
628  } send_status_from_server;
636  } recv_initial_metadata;
644  } recv_message;
657  const char** error_string;
658  } recv_status_on_client;
662  int* cancelled;
663  } recv_close_on_server;
664  } data;
665 } grpc_op;
666 
668 typedef struct {
676 
678 
688 typedef enum {
692 
697 
704 
706 typedef enum {
709 
712 
716 
727  void (*functor_run)(struct grpc_experimental_completion_queue_functor*, int);
728 
732 
737 
738 /* The upgrade to version 2 is currently experimental. */
739 
740 #define GRPC_CQ_CURRENT_VERSION 2
741 #define GRPC_CQ_VERSION_MINIMUM_FOR_CALLBACKABLE 2
745  int version;
747  grpc_cq_completion_type cq_completion_type;
748 
749  grpc_cq_polling_type cq_polling_type;
750 
751  /* END OF VERSION 1 CQ ATTRIBUTES */
752 
753  /* EXPERIMENTAL: START OF VERSION 2 CQ ATTRIBUTES */
757 
758  /* END OF VERSION 2 CQ ATTRIBUTES */
760 
763 
764 #ifdef __cplusplus
765 }
766 #endif
767 
768 #endif /* GRPC_IMPL_CODEGEN_GRPC_TYPES_H */
everything went ok
Definition: grpc_types.h:409
void * tag
The tag passed to grpc_call_start_batch etc to start this operation.
Definition: grpc_types.h:526
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:70
grpc_op_type op
Operation type, as defined by grpc_op_type.
Definition: grpc_types.h:592
grpc_metadata_array * recv_initial_metadata
Definition: grpc_types.h:635
struct grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer raw
completion queue has been shutdown
Definition: grpc_types.h:441
void * reserved
Reserved for future usage.
Definition: grpc_types.h:596
grpc_status_code
Definition: status.h:26
The completion queue will not have an associated pollset.
Definition: grpc_types.h:702
this method is not available on the server
Definition: grpc_types.h:413
char ** lb_policy_name
If non-NULL, will be set to point to a string indicating the LB policy name.
Definition: grpc_types.h:671
struct grpc_op grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
struct grpc_completion_queue_factory grpc_completion_queue_factory
The completion queue factory structure is opaque to the callers of grpc.
Definition: grpc_types.h:762
int inlineable
The inlineable member specifies whether this functor can be run inline.
Definition: grpc_types.h:731
If is_set, compression_level will be used for the call.
Definition: grpc_types.h:607
An array of arguments that can be passed around.
Definition: grpc_types.h:132
Definition: grpc_types.h:85
grpc_arg * args
Definition: grpc_types.h:134
struct grpc_channel grpc_channel
The Channel interface allows creation of Call objects.
Definition: grpc_types.h:62
struct grpc_byte_buffer ** recv_message
Definition: grpc_types.h:643
struct grpc_byte_buffer * send_message
This op takes ownership of the slices in send_message.
Definition: grpc_types.h:618
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.
Definition: grpc_types.h:557
EXPERIMENTAL: Events trigger a callback specified as the tag.
Definition: grpc_types.h:714
Send status from the server: one and only one instance MUST be sent from the server unless the call w...
Definition: grpc_types.h:562
Future types may include GRPC_BB_PROTOBUF, etc.
Definition: grpc_types.h:36
gpr_timespec deadline
Definition: grpc_types.h:538
grpc_slice key
the key, value values are expected to line up with grpc_mdelem: if changing them, update metadata...
Definition: grpc_types.h:488
there is already an outstanding read/write operation on the call
Definition: grpc_types.h:426
The result of an operation.
Definition: grpc_types.h:514
grpc_slice value
Definition: grpc_types.h:489
const char ** error_string
If this is not nullptr, it will be populated with the full fidelity error string for debugging purpos...
Definition: grpc_types.h:657
grpc_slice * status_details
Definition: grpc_types.h:653
completion queue for notification has not been registered with the server
Definition: grpc_types.h:435
No event before timeout.
Definition: grpc_types.h:506
grpc_cq_completion_type cq_completion_type
Set to GRPC_CQ_CURRENT_VERSION.
Definition: grpc_types.h:747
char * string
Definition: grpc_types.h:107
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1]. ...
Definition: slice.h:60
struct grpc_socket_mutator grpc_socket_mutator
The Socket Mutator interface allows changes on socket options.
Definition: grpc_types.h:73
struct grpc_arg_pointer_vtable grpc_arg_pointer_vtable
Send a message: 0 or more of these operations can occur for each call.
Definition: grpc_types.h:552
Definition: grpc_types.h:109
int success
If the grpc_completion_type is GRPC_OP_COMPLETE, this field indicates whether the operation was succe...
Definition: grpc_types.h:522
this method must be called before invoke
Definition: grpc_types.h:419
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc_types.h:65
grpc_byte_buffer_type type
Definition: grpc_types.h:42
A single argument...
Definition: grpc_types.h:103
Definition: grpc_types.h:535
Definition: grpc_types.h:40
Events are popped out by calling grpc_completion_queue_next() API ONLY.
Definition: grpc_types.h:708
Definition: grpc_types.h:529
grpc_compression_level
Compression levels allow a party with knowledge of its peer&#39;s accepted encodings to request compressi...
Definition: compression_types.h:71
invalid message was passed to this call
Definition: grpc_types.h:432
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice.h:78
grpc_arg_type
Type specifier for grpc_arg.
Definition: grpc_types.h:79
grpc_metadata_array * trailing_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc_types.h:651
Definition: grpc_types.h:742
uint32_t flags
Definition: grpc_types.h:539
Definition: grpc_types.h:106
grpc_call_error
Result of a grpc call.
Definition: grpc_types.h:407
const grpc_arg_pointer_vtable * vtable
Definition: grpc_types.h:111
something failed, we don&#39;t know what
Definition: grpc_types.h:411
grpc_metadata * metadata
Definition: grpc_types.h:532
grpc_cq_completion_type
Specifies the type of APIs to use to pop events from the completion queue.
Definition: grpc_types.h:706
grpc_cq_polling_type
Completion queues internally MAY maintain a set of file descriptors in a structure called &#39;pollset&#39;...
Definition: grpc_types.h:688
struct grpc_experimental_completion_queue_functor grpc_experimental_completion_queue_functor
EXPERIMENTAL: Specifies an interface class to be used as a tag for callback-based completion queues...
Shutting down.
Definition: grpc_types.h:504
size_t capacity
Definition: grpc_types.h:531
Events are popped out by calling grpc_completion_queue_pluck() API ONLY.
Definition: grpc_types.h:711
this method must be called before server_accept
Definition: grpc_types.h:417
this method must be called after invoke
Definition: grpc_types.h:421
grpc_completion_type
The type of completion (for grpc_event)
Definition: grpc_types.h:502
grpc_slice method
Definition: grpc_types.h:536
A single metadata element.
Definition: grpc_types.h:485
grpc_compression_algorithm
The various compression algorithms supported by gRPC (not sorted by compression level) ...
Definition: compression_types.h:57
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
Definition: grpc_types.h:590
void * reserved
Definition: grpc_types.h:540
Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...
Definition: grpc_types.h:567
int internal_success
The following fields are not API.
Definition: grpc_types.h:734
ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...
Definition: grpc_types.h:642
void * reserved[8]
Definition: grpc_types.h:45
Receive close on the server: one and only one must be made on the server.
Definition: grpc_types.h:583
this call is already finished (writes_done or write_status has already been called) ...
Definition: grpc_types.h:424
struct grpc_alarm grpc_alarm
An alarm associated with a completion queue.
Definition: grpc_types.h:59
The completion queue will have an associated pollset and there is no restriction on the type of file ...
Definition: grpc_types.h:691
Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will not contain any &#39;listening ...
Definition: grpc_types.h:696
Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...
Definition: grpc_types.h:548
the flags value was illegal for this call
Definition: grpc_types.h:428
grpc_byte_buffer_type
Definition: grpc_types.h:35
int * cancelled
out argument, set to 1 if the call failed in any way (seen as a cancellation on the server)...
Definition: grpc_types.h:662
struct grpc_socket_factory grpc_socket_factory
The Socket Factory interface creates and binds sockets.
Definition: grpc_types.h:76
grpc_slice * status_details
optional: set to NULL if no details need sending, non-NULL if they do pointer will not be retained pa...
Definition: grpc_types.h:627
struct grpc_byte_buffer grpc_byte_buffer
size_t trailing_metadata_count
Definition: grpc_types.h:621
grpc_metadata * metadata
Definition: grpc_types.h:604
grpc_slice host
Definition: grpc_types.h:537
union grpc_byte_buffer::grpc_byte_buffer_data data
size_t num_args
Definition: grpc_types.h:133
size_t count
Definition: grpc_types.h:530
char * key
Definition: grpc_types.h:105
void * p
Definition: grpc_types.h:110
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc_types.h:634
Definition: grpc_types.h:82
struct grpc_event grpc_event
The result of an operation.
int integer
Definition: grpc_types.h:108
Information requested from the channel.
Definition: grpc_types.h:668
uint32_t flags
Definition: grpc_types.h:491
struct grpc_resource_quota grpc_resource_quota
Definition: grpc_types.h:677
Receive status on the client: one and only one must be made on the client.
Definition: grpc_types.h:577
Definition: grpc_types.h:597
struct grpc_experimental_completion_queue_functor * internal_next
Definition: grpc_types.h:735
Analogous to struct timespec.
Definition: gpr_types.h:47
grpc_compression_algorithm compression
Definition: grpc_types.h:48
struct grpc_completion_queue_attributes grpc_completion_queue_attributes
Definition: grpc_types.h:43
grpc_status_code status
Definition: grpc_types.h:623
char ** service_config_json
If non-NULL, will be set to point to a string containing the service config used by the channel in JS...
Definition: grpc_types.h:674
grpc_status_code * status
Definition: grpc_types.h:652
size_t count
Definition: grpc_types.h:603
uint32_t flags
Write flags bitset for grpc_begin_messages.
Definition: grpc_types.h:594
Definition: grpc_types.h:81
struct grpc_completion_queue grpc_completion_queue
Completion Queues enable notification of the completion of asynchronous actions.
Definition: grpc_types.h:56
payload type requested is not the type registered
Definition: grpc_types.h:439
Receive a message: 0 or more of these operations can occur for each call.
Definition: grpc_types.h:571
this batch of operations leads to more operations than allowed
Definition: grpc_types.h:437
this method is not available on the client
Definition: grpc_types.h:415
EXPERIMENTAL: Specifies an interface class to be used as a tag for callback-based completion queues...
Definition: grpc_types.h:722
grpc_experimental_completion_queue_functor * cq_shutdown_cb
When creating a callbackable CQ, pass in a functor to get invoked when shutdown is complete...
Definition: grpc_types.h:756
grpc_slice_buffer slice_buffer
Definition: grpc_types.h:49
grpc_completion_type type
The type of the completion.
Definition: grpc_types.h:516
grpc_arg_type type
Definition: grpc_types.h:104
grpc_cq_polling_type cq_polling_type
Definition: grpc_types.h:749
void * reserved
Definition: grpc_types.h:41
Definition: grpc_types.h:80
struct grpc_metadata grpc_metadata
A single metadata element.
grpc_metadata * trailing_metadata
Definition: grpc_types.h:622
Operation completion.
Definition: grpc_types.h:508
int version
The version number of this structure.
Definition: grpc_types.h:745
invalid metadata was passed to this call
Definition: grpc_types.h:430
grpc_op_type
Definition: grpc_types.h:543