GRPC C++  1.69.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_GRPC_TYPES_H
20 #define GRPC_IMPL_GRPC_TYPES_H
21 
22 // IWYU pragma: private, include <grpc/grpc.h>
23 
26 #include <grpc/slice.h>
27 #include <grpc/status.h>
29 #include <grpc/support/time.h>
30 #include <stddef.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 typedef enum {
40 
41 typedef struct grpc_byte_buffer {
42  void* reserved;
45  struct /* internal */ {
46  void* reserved[8];
47  } reserved;
51  } raw;
52  } data;
54 
58 
60 typedef struct grpc_channel grpc_channel;
61 
63 typedef struct grpc_server grpc_server;
64 
68 typedef struct grpc_call grpc_call;
69 
72 
75 
77 typedef enum {
82 
83 typedef struct grpc_arg_pointer_vtable {
84  void* (*copy)(void* p);
85  void (*destroy)(void* p);
86  int (*cmp)(void* p, void* q);
88 
101 typedef struct {
103  char* key;
105  char* string;
106  int integer;
108  void* p;
110  } pointer;
111  } value;
112 } grpc_arg;
113 
130 typedef struct {
131  size_t num_args;
134 
139 typedef enum grpc_call_error {
175 
178 #define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH (-1)
179 #define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024)
180 
185 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
186 
188 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
189 
190 #define GRPC_WRITE_THROUGH (0x00000004u)
191 
192 #define GRPC_WRITE_USED_MASK \
193  (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_THROUGH)
194 
198 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u)
199 
201 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u)
202 
204 #define GRPC_INITIAL_METADATA_USED_MASK \
205  (GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \
206  GRPC_INITIAL_METADATA_WAIT_FOR_READY | GRPC_WRITE_THROUGH)
207 
209 typedef struct grpc_metadata {
214 
218  struct /* internal */ {
219  void* obfuscated[4];
220  } internal_data;
221 } grpc_metadata;
222 
224 typedef enum grpc_completion_type {
232 
236 typedef struct grpc_event {
244  int success;
248  void* tag;
249 } grpc_event;
250 
251 typedef struct {
252  size_t count;
253  size_t capacity;
256 
257 typedef struct {
262 
263 typedef enum {
304 } grpc_op_type;
305 
306 struct grpc_byte_buffer;
307 
310 typedef struct grpc_op {
314  uint32_t flags;
316  void* reserved;
317  union grpc_op_data {
319  struct /* internal */ {
320  void* reserved[8];
321  } reserved;
323  size_t count;
328  uint8_t is_set;
339  } send_message;
364  } recv_message;
377  const char** error_string;
384  int* cancelled;
386  } data;
387 } grpc_op;
388 
390 typedef struct {
398 
400 
410 typedef enum {
414 
419 
426 
428 typedef enum {
431 
434 
438 
449 
453 
458 
459 #define GRPC_CQ_CURRENT_VERSION 2
460 #define GRPC_CQ_VERSION_MINIMUM_FOR_CALLBACKABLE 2
464  int version;
467 
469 
470  /* END OF VERSION 1 CQ ATTRIBUTES */
471 
472  /* START OF VERSION 2 CQ ATTRIBUTES */
476 
477  /* END OF VERSION 2 CQ ATTRIBUTES */
479 
482 
483 #ifdef __cplusplus
484 }
485 #endif
486 
487 #endif /* GRPC_IMPL_GRPC_TYPES_H */
grpc_arg
A single argument...
Definition: grpc_types.h:101
grpc_op::grpc_op_data::grpc_op_send_message::send_message
struct grpc_byte_buffer * send_message
This op takes ownership of the slices in send_message.
Definition: grpc_types.h:338
grpc_op::flags
uint32_t flags
Write flags bitset for grpc_begin_messages.
Definition: grpc_types.h:314
grpc_call_error
grpc_call_error
Result of a grpc call.
Definition: grpc_types.h:139
GRPC_CALL_ERROR_ALREADY_INVOKED
@ GRPC_CALL_ERROR_ALREADY_INVOKED
this method must be called before invoke
Definition: grpc_types.h:151
grpc_metadata_array::metadata
grpc_metadata * metadata
Definition: grpc_types.h:254
grpc_op::grpc_op_data::grpc_op_recv_status_on_client::trailing_metadata
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:371
grpc_completion_type
grpc_completion_type
The type of completion (for grpc_event)
Definition: grpc_types.h:224
grpc_op::grpc_op_data::grpc_op_send_initial_metadata
Definition: grpc_types.h:322
grpc_metadata
struct grpc_metadata grpc_metadata
A single metadata element.
grpc_op::grpc_op_data::grpc_op_recv_status_on_client::status
grpc_status_code * status
Definition: grpc_types.h:372
grpc_arg_type
grpc_arg_type
Type specifier for grpc_arg.
Definition: grpc_types.h:77
GRPC_CALL_ERROR_TOO_MANY_OPERATIONS
@ GRPC_CALL_ERROR_TOO_MANY_OPERATIONS
there is already an outstanding read/write operation on the call
Definition: grpc_types.h:158
GRPC_ARG_INTEGER
@ GRPC_ARG_INTEGER
Definition: grpc_types.h:79
GRPC_CQ_NEXT
@ GRPC_CQ_NEXT
Events are popped out by calling grpc_completion_queue_next() API ONLY.
Definition: grpc_types.h:430
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::grpc_op_send_initial_metadata_maybe_compression_level
If is_set, compression_level will be used for the call.
Definition: grpc_types.h:327
grpc_op::grpc_op_data::grpc_op_send_status_from_server
Definition: grpc_types.h:340
grpc_socket_mutator
struct grpc_socket_mutator grpc_socket_mutator
The Socket Mutator interface allows changes on socket options.
Definition: grpc_types.h:71
grpc_resource_quota
struct grpc_resource_quota grpc_resource_quota
Definition: grpc_types.h:399
GRPC_CALL_ERROR
@ GRPC_CALL_ERROR
something failed, we don't know what
Definition: grpc_types.h:143
GRPC_CALL_ERROR_INVALID_MESSAGE
@ GRPC_CALL_ERROR_INVALID_MESSAGE
invalid message was passed to this call
Definition: grpc_types.h:164
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::grpc_op_send_initial_metadata_maybe_compression_level::level
grpc_compression_level level
Definition: grpc_types.h:329
GRPC_ARG_STRING
@ GRPC_ARG_STRING
Definition: grpc_types.h:78
grpc_cq_polling_type
grpc_cq_polling_type
Completion queues internally MAY maintain a set of file descriptors in a structure called 'pollset'.
Definition: grpc_types.h:410
grpc_op::grpc_op_data::send_initial_metadata
struct grpc_op::grpc_op_data::grpc_op_send_initial_metadata send_initial_metadata
grpc_byte_buffer
struct grpc_byte_buffer grpc_byte_buffer
grpc_status_code
grpc_status_code
Definition: status.h:28
grpc_completion_queue_functor::internal_success
int internal_success
The following fields are not API.
Definition: grpc_types.h:455
grpc_op
struct grpc_op grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)
grpc_metadata_array
Definition: grpc_types.h:251
grpc_byte_buffer::grpc_byte_buffer_data::raw
struct grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer raw
grpc_call_details
Definition: grpc_types.h:257
grpc_op::reserved
void * reserved
Reserved for future usage.
Definition: grpc_types.h:316
grpc_compression_algorithm
grpc_compression_algorithm
The various compression algorithms supported by gRPC (not sorted by compression level)
Definition: compression_types.h:60
grpc_cq_completion_type
grpc_cq_completion_type
Specifies the type of APIs to use to pop events from the completion queue.
Definition: grpc_types.h:428
GRPC_CALL_ERROR_NOT_ON_CLIENT
@ GRPC_CALL_ERROR_NOT_ON_CLIENT
this method is not available on the client
Definition: grpc_types.h:147
grpc_op::grpc_op_data::grpc_op_send_message
Definition: grpc_types.h:332
grpc_byte_buffer::grpc_byte_buffer_data
Definition: grpc_types.h:44
GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN
@ GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN
completion queue has been shutdown
Definition: grpc_types.h:173
GRPC_QUEUE_SHUTDOWN
@ GRPC_QUEUE_SHUTDOWN
Shutting down.
Definition: grpc_types.h:226
grpc_byte_buffer::reserved
void * reserved
Definition: grpc_types.h:42
GRPC_OP_COMPLETE
@ GRPC_OP_COMPLETE
Operation completion.
Definition: grpc_types.h:230
GRPC_CALL_OK
@ GRPC_CALL_OK
everything went ok
Definition: grpc_types.h:141
grpc_event
struct grpc_event grpc_event
The result of an operation.
grpc_metadata_array::count
size_t count
Definition: grpc_types.h:252
grpc_call_details::method
grpc_slice method
Definition: grpc_types.h:258
GRPC_CALL_ERROR_INVALID_METADATA
@ GRPC_CALL_ERROR_INVALID_METADATA
invalid metadata was passed to this call
Definition: grpc_types.h:162
GRPC_CALL_ERROR_NOT_ON_SERVER
@ GRPC_CALL_ERROR_NOT_ON_SERVER
this method is not available on the server
Definition: grpc_types.h:145
grpc_metadata_array::capacity
size_t capacity
Definition: grpc_types.h:253
grpc_arg_pointer_vtable
Definition: grpc_types.h:83
grpc_channel_args
An array of arguments that can be passed around.
Definition: grpc_types.h:130
grpc_op::grpc_op_data::recv_message
struct grpc_op::grpc_op_data::grpc_op_recv_message recv_message
GRPC_BB_RAW
@ GRPC_BB_RAW
Future types may include GRPC_BB_PROTOBUF, etc.
Definition: grpc_types.h:37
GRPC_CQ_NON_POLLING
@ GRPC_CQ_NON_POLLING
The completion queue will not have an associated pollset.
Definition: grpc_types.h:424
grpc_op::data
union grpc_op::grpc_op_data data
grpc_metadata::obfuscated
void * obfuscated[4]
Definition: grpc_types.h:219
grpc_op::grpc_op_data::grpc_op_recv_status_on_client
Definition: grpc_types.h:365
grpc_byte_buffer::type
grpc_byte_buffer_type type
Definition: grpc_types.h:43
grpc_completion_queue_functor
struct grpc_completion_queue_functor grpc_completion_queue_functor
Specifies an interface class to be used as a tag for callback-based completion queues.
status.h
grpc_op::grpc_op_data::grpc_op_recv_message::recv_message
struct grpc_byte_buffer ** recv_message
Definition: grpc_types.h:363
grpc_metadata
A single metadata element.
Definition: grpc_types.h:209
GRPC_CQ_DEFAULT_POLLING
@ GRPC_CQ_DEFAULT_POLLING
The completion queue will have an associated pollset and there is no restriction on the type of file ...
Definition: grpc_types.h:413
GRPC_OP_RECV_INITIAL_METADATA
@ GRPC_OP_RECV_INITIAL_METADATA
Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...
Definition: grpc_types.h:287
grpc_arg::grpc_arg_value::string
char * string
Definition: grpc_types.h:105
grpc_metadata::internal_data
struct grpc_metadata::@1 internal_data
The following fields are reserved for grpc internal use.
grpc_completion_queue_functor::functor_run
void(* functor_run)(struct grpc_completion_queue_functor *, int)
The run member specifies a function that will be called when this tag is extracted from the completio...
Definition: grpc_types.h:448
GRPC_CALL_ERROR_NOT_INVOKED
@ GRPC_CALL_ERROR_NOT_INVOKED
this method must be called after invoke
Definition: grpc_types.h:153
GRPC_CQ_NON_LISTENING
@ GRPC_CQ_NON_LISTENING
Similar to GRPC_CQ_DEFAULT_POLLING except that the completion queues will not contain any 'listening ...
Definition: grpc_types.h:418
GRPC_OP_SEND_STATUS_FROM_SERVER
@ GRPC_OP_SEND_STATUS_FROM_SERVER
Send status from the server: one and only one instance MUST be sent from the server unless the call w...
Definition: grpc_types.h:282
grpc_arg::grpc_arg_value::grpc_arg_pointer::vtable
const grpc_arg_pointer_vtable * vtable
Definition: grpc_types.h:109
GRPC_CALL_ERROR_INVALID_FLAGS
@ GRPC_CALL_ERROR_INVALID_FLAGS
the flags value was illegal for this call
Definition: grpc_types.h:160
grpc_op::grpc_op_data::grpc_op_send_status_from_server::status
grpc_status_code status
Definition: grpc_types.h:343
grpc_op::grpc_op_data::reserved
void * reserved[8]
Definition: grpc_types.h:320
grpc_arg::grpc_arg_value::grpc_arg_pointer
Definition: grpc_types.h:107
grpc_op::grpc_op_data::grpc_op_recv_status_on_client::error_string
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:377
grpc_event
The result of an operation.
Definition: grpc_types.h:236
grpc_op_type
grpc_op_type
Definition: grpc_types.h:263
grpc_metadata::value
grpc_slice value
Definition: grpc_types.h:213
grpc_call
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:68
grpc_byte_buffer
Definition: grpc_types.h:41
grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)
Definition: grpc_types.h:310
GRPC_OP_SEND_MESSAGE
@ GRPC_OP_SEND_MESSAGE
Send a message: 0 or more of these operations can occur for each call.
Definition: grpc_types.h:272
grpc_channel_args::num_args
size_t num_args
Definition: grpc_types.h:131
grpc_completion_queue_functor::internal_next
struct grpc_completion_queue_functor * internal_next
Definition: grpc_types.h:456
grpc_op::grpc_op_data::grpc_op_recv_close_on_server
Definition: grpc_types.h:379
grpc_op::grpc_op_data::grpc_op_send_status_from_server::trailing_metadata
grpc_metadata * trailing_metadata
Definition: grpc_types.h:342
grpc_slice
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice_type.h:62
grpc_arg::grpc_arg_value::grpc_arg_pointer::p
void * p
Definition: grpc_types.h:108
grpc_socket_factory
struct grpc_socket_factory grpc_socket_factory
The Socket Factory interface creates and binds sockets.
Definition: grpc_types.h:74
grpc_server
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc_types.h:63
grpc_op::grpc_op_data::grpc_op_recv_initial_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc_types.h:354
grpc_arg_pointer_vtable
struct grpc_arg_pointer_vtable grpc_arg_pointer_vtable
grpc_arg_pointer_vtable::destroy
void(* destroy)(void *p)
Definition: grpc_types.h:85
GRPC_CQ_PLUCK
@ GRPC_CQ_PLUCK
Events are popped out by calling grpc_completion_queue_pluck() API ONLY.
Definition: grpc_types.h:433
grpc_completion_queue_attributes
Definition: grpc_types.h:461
grpc_completion_queue_attributes::version
int version
The version number of this structure.
Definition: grpc_types.h:464
grpc_op::op
grpc_op_type op
Operation type, as defined by grpc_op_type.
Definition: grpc_types.h:312
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::count
size_t count
Definition: grpc_types.h:323
grpc_op::grpc_op_data::grpc_op_recv_status_on_client::status_details
grpc_slice * status_details
Definition: grpc_types.h:373
grpc_byte_buffer::data
union grpc_byte_buffer::grpc_byte_buffer_data data
compression_types.h
grpc_completion_queue_factory
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:481
grpc_op::grpc_op_data::recv_close_on_server
struct grpc_op::grpc_op_data::grpc_op_recv_close_on_server recv_close_on_server
GRPC_OP_RECV_MESSAGE
@ GRPC_OP_RECV_MESSAGE
Receive a message: 0 or more of these operations can occur for each call.
Definition: grpc_types.h:291
GRPC_CALL_ERROR_ALREADY_ACCEPTED
@ GRPC_CALL_ERROR_ALREADY_ACCEPTED
this method must be called before server_accept
Definition: grpc_types.h:149
grpc_completion_queue_attributes::cq_shutdown_cb
grpc_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:475
grpc_channel_info::service_config_json
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:396
grpc_op::grpc_op_data::send_status_from_server
struct grpc_op::grpc_op_data::grpc_op_send_status_from_server send_status_from_server
slice.h
GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH
@ GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH
payload type requested is not the type registered
Definition: grpc_types.h:171
grpc_call_details::host
grpc_slice host
Definition: grpc_types.h:259
channel_arg_names.h
GRPC_OP_SEND_INITIAL_METADATA
@ GRPC_OP_SEND_INITIAL_METADATA
Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...
Definition: grpc_types.h:268
grpc_channel_info::lb_policy_name
char ** lb_policy_name
If non-NULL, will be set to point to a string indicating the LB policy name.
Definition: grpc_types.h:393
grpc_op::grpc_op_data::send_message
struct grpc_op::grpc_op_data::grpc_op_send_message send_message
grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer::compression
grpc_compression_algorithm compression
Definition: grpc_types.h:49
grpc_byte_buffer_type
grpc_byte_buffer_type
Definition: grpc_types.h:36
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::metadata
grpc_metadata * metadata
Definition: grpc_types.h:324
GRPC_CALL_ERROR_BATCH_TOO_BIG
@ GRPC_CALL_ERROR_BATCH_TOO_BIG
this batch of operations leads to more operations than allowed
Definition: grpc_types.h:169
grpc_op::grpc_op_data::recv_status_on_client
struct grpc_op::grpc_op_data::grpc_op_recv_status_on_client recv_status_on_client
grpc_compression_level
grpc_compression_level
Compression levels allow a party with knowledge of its peer's accepted encodings to request compressi...
Definition: compression_types.h:72
grpc_op::grpc_op_data::grpc_op_send_status_from_server::trailing_metadata_count
size_t trailing_metadata_count
Definition: grpc_types.h:341
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::maybe_compression_level
struct grpc_op::grpc_op_data::grpc_op_send_initial_metadata::grpc_op_send_initial_metadata_maybe_compression_level maybe_compression_level
grpc_arg::key
char * key
Definition: grpc_types.h:103
grpc_op::grpc_op_data
Definition: grpc_types.h:317
grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer
Definition: grpc_types.h:48
grpc_completion_queue
struct grpc_completion_queue grpc_completion_queue
Completion Queues enable notification of the completion of asynchronous actions.
Definition: grpc_types.h:57
grpc_op::grpc_op_data::grpc_op_recv_message
ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...
Definition: grpc_types.h:362
grpc_completion_queue_functor
Specifies an interface class to be used as a tag for callback-based completion queues.
Definition: grpc_types.h:443
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::grpc_op_send_initial_metadata_maybe_compression_level::is_set
uint8_t is_set
Definition: grpc_types.h:328
grpc_completion_queue_attributes::cq_completion_type
grpc_cq_completion_type cq_completion_type
Set to GRPC_CQ_CURRENT_VERSION.
Definition: grpc_types.h:466
grpc_channel
struct grpc_channel grpc_channel
The Channel interface allows creation of Call objects.
Definition: grpc_types.h:60
grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer::slice_buffer
grpc_slice_buffer slice_buffer
Definition: grpc_types.h:50
GRPC_OP_RECV_CLOSE_ON_SERVER
@ GRPC_OP_RECV_CLOSE_ON_SERVER
Receive close on the server: one and only one must be made on the server.
Definition: grpc_types.h:303
grpc_completion_queue_attributes
struct grpc_completion_queue_attributes grpc_completion_queue_attributes
GRPC_CALL_ERROR_ALREADY_FINISHED
@ GRPC_CALL_ERROR_ALREADY_FINISHED
this call is already finished (writes_done or write_status has already been called)
Definition: grpc_types.h:156
grpc_completion_queue_attributes::cq_polling_type
grpc_cq_polling_type cq_polling_type
Definition: grpc_types.h:468
grpc_slice_buffer
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice_type.h:80
grpc_op::grpc_op_data::recv_initial_metadata
struct grpc_op::grpc_op_data::grpc_op_recv_initial_metadata recv_initial_metadata
GRPC_ARG_POINTER
@ GRPC_ARG_POINTER
Definition: grpc_types.h:80
grpc_op::grpc_op_data::grpc_op_send_status_from_server::status_details
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:347
GRPC_CQ_CALLBACK
@ GRPC_CQ_CALLBACK
Events trigger a callback specified as the tag.
Definition: grpc_types.h:436
gpr_timespec
Analogous to struct timespec.
Definition: time.h:47
grpc_event::type
grpc_completion_type type
The type of the completion.
Definition: grpc_types.h:238
grpc_arg::grpc_arg_value::integer
int integer
Definition: grpc_types.h:106
grpc_byte_buffer::grpc_byte_buffer_data::reserved
void * reserved[8]
Definition: grpc_types.h:46
GRPC_OP_RECV_STATUS_ON_CLIENT
@ GRPC_OP_RECV_STATUS_ON_CLIENT
Receive status on the client: one and only one must be made on the client.
Definition: grpc_types.h:297
grpc_op::grpc_op_data::grpc_op_recv_initial_metadata::recv_initial_metadata
grpc_metadata_array * recv_initial_metadata
Definition: grpc_types.h:355
grpc_arg::type
grpc_arg_type type
Definition: grpc_types.h:102
grpc_arg_pointer_vtable::cmp
int(* cmp)(void *p, void *q)
Definition: grpc_types.h:86
grpc_channel_info
Information requested from the channel.
Definition: grpc_types.h:390
grpc_channel_args::args
grpc_arg * args
Definition: grpc_types.h:132
grpc_call_details::deadline
gpr_timespec deadline
Definition: grpc_types.h:260
grpc_event::success
int success
If the grpc_completion_type is GRPC_OP_COMPLETE, this field indicates whether the operation was succe...
Definition: grpc_types.h:244
GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE
@ GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE
completion queue for notification has not been registered with the server
Definition: grpc_types.h:167
GRPC_QUEUE_TIMEOUT
@ GRPC_QUEUE_TIMEOUT
No event before timeout.
Definition: grpc_types.h:228
grpc_event::tag
void * tag
The tag passed to grpc_call_start_batch etc to start this operation.
Definition: grpc_types.h:248
grpc_op::grpc_op_data::grpc_op_recv_close_on_server::cancelled
int * cancelled
out argument, set to 1 if the call failed at the server for a reason other than a non-OK status (canc...
Definition: grpc_types.h:384
grpc_metadata::key
grpc_slice key
the key, value values are expected to line up with grpc_mdelem: if changing them, update metadata....
Definition: grpc_types.h:212
GRPC_OP_SEND_CLOSE_FROM_CLIENT
@ GRPC_OP_SEND_CLOSE_FROM_CLIENT
Send a close from the client: one and only one instance MUST be sent from the client,...
Definition: grpc_types.h:277
time.h
grpc_arg::grpc_arg_value
Definition: grpc_types.h:104
grpc_completion_queue_functor::inlineable
int inlineable
The inlineable member specifies whether this functor can be run inline.
Definition: grpc_types.h:452
port_platform.h