GRPC Core  41.0.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 
24 #include <stddef.h>
25 
28 #include <grpc/slice.h>
29 #include <grpc/status.h>
31 #include <grpc/support/time.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 typedef enum {
41 
42 typedef struct grpc_byte_buffer {
43  void* reserved;
46  struct /* internal */ {
47  void* reserved[8];
48  } reserved;
52  } raw;
53  } data;
55 
59 
61 typedef struct grpc_channel grpc_channel;
62 
64 typedef struct grpc_server grpc_server;
65 
69 typedef struct grpc_call grpc_call;
70 
73 
76 
78 typedef enum {
83 
84 typedef struct grpc_arg_pointer_vtable {
85  void* (*copy)(void* p);
86  void (*destroy)(void* p);
87  int (*cmp)(void* p, void* q);
89 
102 typedef struct {
104  char* key;
106  char* string;
107  int integer;
109  void* p;
111  } pointer;
112  } value;
113 } grpc_arg;
114 
131 typedef struct {
132  size_t num_args;
135 
140 typedef enum grpc_call_error {
176 
179 #define GRPC_DEFAULT_MAX_SEND_MESSAGE_LENGTH (-1)
180 #define GRPC_DEFAULT_MAX_RECV_MESSAGE_LENGTH (4 * 1024 * 1024)
181 
186 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
187 
189 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
190 
191 #define GRPC_WRITE_THROUGH (0x00000004u)
192 
193 #define GRPC_WRITE_USED_MASK \
194  (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS | GRPC_WRITE_THROUGH)
195 
199 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY (0x00000020u)
200 
202 #define GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET (0x00000080u)
203 
205 #define GRPC_INITIAL_METADATA_USED_MASK \
206  (GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET | \
207  GRPC_INITIAL_METADATA_WAIT_FOR_READY | GRPC_WRITE_THROUGH)
208 
210 typedef struct grpc_metadata {
215 
219  struct /* internal */ {
220  void* obfuscated[4];
221  } internal_data;
222 } grpc_metadata;
223 
225 typedef enum grpc_completion_type {
233 
237 typedef struct grpc_event {
245  int success;
249  void* tag;
250 } grpc_event;
251 
252 typedef struct {
253  size_t count;
254  size_t capacity;
257 
258 typedef struct {
263 
264 typedef enum {
305 } grpc_op_type;
306 
307 struct grpc_byte_buffer;
308 
311 typedef struct grpc_op {
315  uint32_t flags;
317  void* reserved;
318  union grpc_op_data {
320  struct /* internal */ {
321  void* reserved[8];
322  } reserved;
324  size_t count;
329  uint8_t is_set;
340  } send_message;
365  } recv_message;
378  const char** error_string;
385  int* cancelled;
387  } data;
388 } grpc_op;
389 
391 typedef struct {
399 
401 
411 typedef enum {
415 
420 
427 
429 typedef enum {
432 
435 
439 
450 
454 
459 
460 #define GRPC_CQ_CURRENT_VERSION 2
461 #define GRPC_CQ_VERSION_MINIMUM_FOR_CALLBACKABLE 2
465  int version;
468 
470 
471  /* END OF VERSION 1 CQ ATTRIBUTES */
472 
473  /* START OF VERSION 2 CQ ATTRIBUTES */
477 
478  /* END OF VERSION 2 CQ ATTRIBUTES */
480 
483 
484 #ifdef __cplusplus
485 }
486 #endif
487 
488 #endif /* GRPC_IMPL_GRPC_TYPES_H */
grpc_arg
A single argument...
Definition: grpc_types.h:102
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:339
grpc_op::flags
uint32_t flags
Write flags bitset for grpc_begin_messages.
Definition: grpc_types.h:315
grpc_call_error
grpc_call_error
Result of a grpc call.
Definition: grpc_types.h:140
GRPC_CALL_ERROR_ALREADY_INVOKED
@ GRPC_CALL_ERROR_ALREADY_INVOKED
this method must be called before invoke
Definition: grpc_types.h:152
grpc_metadata_array::metadata
grpc_metadata * metadata
Definition: grpc_types.h:255
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:372
grpc_completion_type
grpc_completion_type
The type of completion (for grpc_event)
Definition: grpc_types.h:225
grpc_op::grpc_op_data::grpc_op_send_initial_metadata
Definition: grpc_types.h:323
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:373
grpc_arg_type
grpc_arg_type
Type specifier for grpc_arg.
Definition: grpc_types.h:78
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:159
GRPC_ARG_INTEGER
@ GRPC_ARG_INTEGER
Definition: grpc_types.h:80
GRPC_CQ_NEXT
@ GRPC_CQ_NEXT
Events are popped out by calling grpc_completion_queue_next() API ONLY.
Definition: grpc_types.h:431
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:328
grpc_op::grpc_op_data::grpc_op_send_status_from_server
Definition: grpc_types.h:341
grpc_socket_mutator
struct grpc_socket_mutator grpc_socket_mutator
The Socket Mutator interface allows changes on socket options.
Definition: grpc_types.h:72
grpc_resource_quota
struct grpc_resource_quota grpc_resource_quota
Definition: grpc_types.h:400
GRPC_CALL_ERROR
@ GRPC_CALL_ERROR
something failed, we don't know what
Definition: grpc_types.h:144
GRPC_CALL_ERROR_INVALID_MESSAGE
@ GRPC_CALL_ERROR_INVALID_MESSAGE
invalid message was passed to this call
Definition: grpc_types.h:165
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:330
GRPC_ARG_STRING
@ GRPC_ARG_STRING
Definition: grpc_types.h:79
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:411
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_completion_queue_functor::internal_success
int internal_success
The following fields are not API.
Definition: grpc_types.h:456
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:252
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:258
grpc_op::reserved
void * reserved
Reserved for future usage.
Definition: grpc_types.h:317
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:429
GRPC_CALL_ERROR_NOT_ON_CLIENT
@ GRPC_CALL_ERROR_NOT_ON_CLIENT
this method is not available on the client
Definition: grpc_types.h:148
grpc_op::grpc_op_data::grpc_op_send_message
Definition: grpc_types.h:333
grpc_byte_buffer::grpc_byte_buffer_data
Definition: grpc_types.h:45
GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN
@ GRPC_CALL_ERROR_COMPLETION_QUEUE_SHUTDOWN
completion queue has been shutdown
Definition: grpc_types.h:174
GRPC_QUEUE_SHUTDOWN
@ GRPC_QUEUE_SHUTDOWN
Shutting down.
Definition: grpc_types.h:227
grpc_byte_buffer::reserved
void * reserved
Definition: grpc_types.h:43
GRPC_OP_COMPLETE
@ GRPC_OP_COMPLETE
Operation completion.
Definition: grpc_types.h:231
GRPC_CALL_OK
@ GRPC_CALL_OK
everything went ok
Definition: grpc_types.h:142
grpc_event
struct grpc_event grpc_event
The result of an operation.
grpc_metadata_array::count
size_t count
Definition: grpc_types.h:253
grpc_call_details::method
grpc_slice method
Definition: grpc_types.h:259
GRPC_CALL_ERROR_INVALID_METADATA
@ GRPC_CALL_ERROR_INVALID_METADATA
invalid metadata was passed to this call
Definition: grpc_types.h:163
GRPC_CALL_ERROR_NOT_ON_SERVER
@ GRPC_CALL_ERROR_NOT_ON_SERVER
this method is not available on the server
Definition: grpc_types.h:146
grpc_metadata_array::capacity
size_t capacity
Definition: grpc_types.h:254
grpc_arg_pointer_vtable
Definition: grpc_types.h:84
grpc_channel_args
An array of arguments that can be passed around.
Definition: grpc_types.h:131
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:38
GRPC_CQ_NON_POLLING
@ GRPC_CQ_NON_POLLING
The completion queue will not have an associated pollset.
Definition: grpc_types.h:425
grpc_op::data
union grpc_op::grpc_op_data data
grpc_metadata::obfuscated
void * obfuscated[4]
Definition: grpc_types.h:220
grpc_op::grpc_op_data::grpc_op_recv_status_on_client
Definition: grpc_types.h:366
grpc_byte_buffer::type
grpc_byte_buffer_type type
Definition: grpc_types.h:44
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.
grpc_op::grpc_op_data::grpc_op_recv_message::recv_message
struct grpc_byte_buffer ** recv_message
Definition: grpc_types.h:364
grpc_metadata
A single metadata element.
Definition: grpc_types.h:210
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:414
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:288
grpc_arg::grpc_arg_value::string
char * string
Definition: grpc_types.h:106
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:449
GRPC_CALL_ERROR_NOT_INVOKED
@ GRPC_CALL_ERROR_NOT_INVOKED
this method must be called after invoke
Definition: grpc_types.h:154
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:419
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:283
grpc_arg::grpc_arg_value::grpc_arg_pointer::vtable
const grpc_arg_pointer_vtable * vtable
Definition: grpc_types.h:110
GRPC_CALL_ERROR_INVALID_FLAGS
@ GRPC_CALL_ERROR_INVALID_FLAGS
the flags value was illegal for this call
Definition: grpc_types.h:161
grpc_op::grpc_op_data::grpc_op_send_status_from_server::status
grpc_status_code status
Definition: grpc_types.h:344
grpc_op::grpc_op_data::reserved
void * reserved[8]
Definition: grpc_types.h:321
grpc_arg::grpc_arg_value::grpc_arg_pointer
Definition: grpc_types.h:108
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:378
grpc_event
The result of an operation.
Definition: grpc_types.h:237
grpc_status_code
grpc_status_code
Definition: status.h:28
grpc_op_type
grpc_op_type
Definition: grpc_types.h:264
grpc_metadata::value
grpc_slice value
Definition: grpc_types.h:214
grpc_call
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc_types.h:69
grpc_byte_buffer
Definition: grpc_types.h:42
grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)
Definition: grpc_types.h:311
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:273
grpc_channel_args::num_args
size_t num_args
Definition: grpc_types.h:132
grpc_completion_queue_functor::internal_next
struct grpc_completion_queue_functor * internal_next
Definition: grpc_types.h:457
grpc_op::grpc_op_data::grpc_op_recv_close_on_server
Definition: grpc_types.h:380
time.h
grpc_op::grpc_op_data::grpc_op_send_status_from_server::trailing_metadata
grpc_metadata * trailing_metadata
Definition: grpc_types.h:343
grpc_slice
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice_type.h:63
grpc_arg::grpc_arg_value::grpc_arg_pointer::p
void * p
Definition: grpc_types.h:109
grpc_socket_factory
struct grpc_socket_factory grpc_socket_factory
The Socket Factory interface creates and binds sockets.
Definition: grpc_types.h:75
grpc_server
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc_types.h:64
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:355
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:86
GRPC_CQ_PLUCK
@ GRPC_CQ_PLUCK
Events are popped out by calling grpc_completion_queue_pluck() API ONLY.
Definition: grpc_types.h:434
grpc_completion_queue_attributes
Definition: grpc_types.h:462
grpc_completion_queue_attributes::version
int version
The version number of this structure.
Definition: grpc_types.h:465
grpc_op::op
grpc_op_type op
Operation type, as defined by grpc_op_type.
Definition: grpc_types.h:313
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::count
size_t count
Definition: grpc_types.h:324
grpc_op::grpc_op_data::grpc_op_recv_status_on_client::status_details
grpc_slice * status_details
Definition: grpc_types.h:374
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:482
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:292
GRPC_CALL_ERROR_ALREADY_ACCEPTED
@ GRPC_CALL_ERROR_ALREADY_ACCEPTED
this method must be called before server_accept
Definition: grpc_types.h:150
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:476
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:397
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
GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH
@ GRPC_CALL_ERROR_PAYLOAD_TYPE_MISMATCH
payload type requested is not the type registered
Definition: grpc_types.h:172
grpc_call_details::host
grpc_slice host
Definition: grpc_types.h:260
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:269
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:394
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:50
grpc_byte_buffer_type
grpc_byte_buffer_type
Definition: grpc_types.h:37
grpc_op::grpc_op_data::grpc_op_send_initial_metadata::metadata
grpc_metadata * metadata
Definition: grpc_types.h:325
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:170
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:342
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:104
grpc_op::grpc_op_data
Definition: grpc_types.h:318
grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer
Definition: grpc_types.h:49
grpc_completion_queue
struct grpc_completion_queue grpc_completion_queue
Completion Queues enable notification of the completion of asynchronous actions.
Definition: grpc_types.h:58
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:363
grpc_completion_queue_functor
Specifies an interface class to be used as a tag for callback-based completion queues.
Definition: grpc_types.h:444
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:329
grpc_completion_queue_attributes::cq_completion_type
grpc_cq_completion_type cq_completion_type
Set to GRPC_CQ_CURRENT_VERSION.
Definition: grpc_types.h:467
grpc_channel
struct grpc_channel grpc_channel
The Channel interface allows creation of Call objects.
Definition: grpc_types.h:61
grpc_byte_buffer::grpc_byte_buffer_data::grpc_compressed_buffer::slice_buffer
grpc_slice_buffer slice_buffer
Definition: grpc_types.h:51
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:304
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:157
grpc_completion_queue_attributes::cq_polling_type
grpc_cq_polling_type cq_polling_type
Definition: grpc_types.h:469
grpc_slice_buffer
Represents an expandable array of slices, to be interpreted as a single item.
Definition: slice_type.h:81
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:81
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:348
GRPC_CQ_CALLBACK
@ GRPC_CQ_CALLBACK
Events trigger a callback specified as the tag.
Definition: grpc_types.h:437
gpr_timespec
Analogous to struct timespec.
Definition: time.h:48
grpc_event::type
grpc_completion_type type
The type of the completion.
Definition: grpc_types.h:239
grpc_arg::grpc_arg_value::integer
int integer
Definition: grpc_types.h:107
grpc_byte_buffer::grpc_byte_buffer_data::reserved
void * reserved[8]
Definition: grpc_types.h:47
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:298
grpc_op::grpc_op_data::grpc_op_recv_initial_metadata::recv_initial_metadata
grpc_metadata_array * recv_initial_metadata
Definition: grpc_types.h:356
slice.h
grpc_arg::type
grpc_arg_type type
Definition: grpc_types.h:103
grpc_arg_pointer_vtable::cmp
int(* cmp)(void *p, void *q)
Definition: grpc_types.h:87
grpc_channel_info
Information requested from the channel.
Definition: grpc_types.h:391
grpc_channel_args::args
grpc_arg * args
Definition: grpc_types.h:133
grpc_call_details::deadline
gpr_timespec deadline
Definition: grpc_types.h:261
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:245
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:168
GRPC_QUEUE_TIMEOUT
@ GRPC_QUEUE_TIMEOUT
No event before timeout.
Definition: grpc_types.h:229
status.h
grpc_event::tag
void * tag
The tag passed to grpc_call_start_batch etc to start this operation.
Definition: grpc_types.h:249
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:385
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:213
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:278
grpc_arg::grpc_arg_value
Definition: grpc_types.h:105
grpc_completion_queue_functor::inlineable
int inlineable
The inlineable member specifies whether this functor can be run inline.
Definition: grpc_types.h:453
port_platform.h