37 #include <grpc/status.h>
40 #include <grpc/support/slice.h>
41 #include <grpc/support/time.h>
89 void *(*copy)(
void *p);
90 void (*destroy)(
void *p);
108 #define GRPC_ARG_ENABLE_CENSUS "grpc.census"
111 #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
113 #define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"
115 #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
116 "grpc.http2.initial_sequence_number"
122 typedef enum grpc_call_error {
128 GRPC_CALL_ERROR_NOT_ON_SERVER,
130 GRPC_CALL_ERROR_NOT_ON_CLIENT,
132 GRPC_CALL_ERROR_ALREADY_ACCEPTED,
134 GRPC_CALL_ERROR_ALREADY_INVOKED,
136 GRPC_CALL_ERROR_NOT_INVOKED,
139 GRPC_CALL_ERROR_ALREADY_FINISHED,
141 GRPC_CALL_ERROR_TOO_MANY_OPERATIONS,
143 GRPC_CALL_ERROR_INVALID_FLAGS,
145 GRPC_CALL_ERROR_INVALID_METADATA
152 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
155 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
195 typedef enum grpc_completion_type {
199 } grpc_completion_type;
202 grpc_completion_type type;
218 size_t method_capacity;
220 size_t host_capacity;
231 GRPC_OP_SEND_INITIAL_METADATA = 0,
233 GRPC_OP_SEND_MESSAGE,
237 GRPC_OP_SEND_CLOSE_FROM_CLIENT,
241 GRPC_OP_SEND_STATUS_FROM_SERVER,
244 GRPC_OP_RECV_INITIAL_METADATA,
246 GRPC_OP_RECV_MESSAGE,
249 GRPC_OP_RECV_STATUS_ON_CLIENT,
252 GRPC_OP_RECV_CLOSE_ON_SERVER
264 } send_initial_metadata;
267 size_t trailing_metadata_count;
269 grpc_status_code status;
270 const char *status_details;
271 } send_status_from_server;
287 grpc_status_code *status;
310 char **status_details;
311 size_t *status_details_capacity;
312 } recv_status_on_client;
318 } recv_close_on_server;
327 void grpc_init(
void);
334 void grpc_shutdown(
void);
374 const char *method,
const char *host,
378 void *grpc_channel_register_call(
grpc_channel *channel,
const char *method,
382 grpc_call *grpc_channel_create_registered_call(
392 size_t nops,
void *tag);
426 grpc_call_error grpc_call_cancel(
grpc_call *call);
434 grpc_call_error grpc_call_cancel_with_status(
grpc_call *call,
435 grpc_status_code status,
436 const char *description);
442 grpc_call_error grpc_server_request_call(
455 void *grpc_server_register_method(
grpc_server *server,
const char *method,
459 grpc_call_error grpc_server_request_registered_call(
474 void grpc_server_register_completion_queue(
grpc_server *server,
480 int grpc_server_add_http2_port(
grpc_server *server,
const char *addr);
495 void grpc_server_shutdown_and_notify(
grpc_server *server,
void *tag);
Definition: byte_buffer.h:43
Definition: completion_queue.c:61
Definition: byte_buffer_reader.h:40