Go to the documentation of this file.
22 #include <grpc/byte_buffer.h>
34 static void*
tag(
intptr_t t) {
return reinterpret_cast<void*
>(t); }
37 const char* test_name,
45 f =
config.create_fixture(
nullptr,
nullptr);
46 config.init_server(&
f, server_args);
47 config.init_client(&
f, client_args);
67 if (!
f->server)
return;
78 if (!
f->client)
return;
97 bool use_service_config,
98 bool use_string_json_value) {
100 "testing request with send_limit=%d use_service_config=%d "
101 "use_string_json_value=%d",
102 send_limit, use_service_config, use_string_json_value);
126 if (use_service_config) {
133 use_string_json_value
136 " \"methodConfig\": [ {\n"
138 " { \"service\": \"service\", \"method\": \"method\" }\n"
140 " \"maxRequestMessageBytes\": \"5\"\n"
145 " \"methodConfig\": [ {\n"
147 " { \"service\": \"service\", \"method\": \"method\" }\n"
149 " \"maxRequestMessageBytes\": 5\n"
263 ?
"Sent message larger than max (11 vs. 5)"
264 :
"Received message larger than max (11 vs. 5)") == 0);
288 bool use_service_config,
289 bool use_string_json_value) {
291 "testing response with send_limit=%d use_service_config=%d "
292 "use_string_json_value=%d",
293 send_limit, use_service_config, use_string_json_value);
317 if (use_service_config) {
323 arg.
value.string =
const_cast<char*
>(
324 use_string_json_value
326 " \"methodConfig\": [ {\n"
328 " { \"service\": \"service\", \"method\": \"method\" }\n"
330 " \"maxResponseMessageBytes\": \"5\"\n"
334 " \"methodConfig\": [ {\n"
336 " { \"service\": \"service\", \"method\": \"method\" }\n"
338 " \"maxResponseMessageBytes\": 5\n"
455 ?
"Sent message larger than max (11 vs. 5)"
456 :
"Received message larger than max (11 vs. 5)") == 0);
487 "test max receive message length on compressed request with "
622 details,
"Received message larger than max (29 vs. 5)") ==
645 "testing max receive message length on compressed response with "
777 details,
"Received message larger than max (29 vs. 5)") ==
825 if (strcmp(
config.name,
"inproc") != 0 &&
GPRAPI void grpc_slice_unref(grpc_slice s)
struct grpc_byte_buffer * send_message
GRPCAPI void grpc_call_details_destroy(grpc_call_details *details)
GRPCAPI void grpc_call_details_init(grpc_call_details *details)
grpc_metadata_array * trailing_metadata
gpr_timespec grpc_timeout_seconds_to_deadline(int64_t time_s)
grpc_status_code * status
GRPCAPI grpc_byte_buffer * grpc_raw_byte_buffer_create(grpc_slice *slices, size_t nslices)
static void test_max_receive_message_length_on_compressed_request(grpc_end2end_test_config config, bool minimal_stack)
static void test_max_message_length_on_response(grpc_end2end_test_config config, bool send_limit, bool use_service_config, bool use_string_json_value)
return memset(p, 0, total)
GPRAPI grpc_slice grpc_slice_from_copied_string(const char *source)
struct grpc_op::grpc_op_data::grpc_op_send_initial_metadata send_initial_metadata
#define GRPC_ARG_MAX_RECEIVE_MESSAGE_LENGTH
static gpr_timespec n_seconds_from_now(int n)
GPRAPI gpr_timespec gpr_inf_future(gpr_clock_type type)
static void end_test(grpc_end2end_test_fixture *f)
#define GRPC_ARG_MAX_SEND_MESSAGE_LENGTH
@ GRPC_STATUS_RESOURCE_EXHAUSTED
GPRAPI grpc_slice grpc_slice_malloc(size_t length)
struct grpc_op::grpc_op_data::grpc_op_recv_message recv_message
union grpc_op::grpc_op_data data
GRPCAPI void grpc_metadata_array_destroy(grpc_metadata_array *array)
struct grpc_byte_buffer ** recv_message
GRPCAPI grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
static grpc_metadata_array trailing_metadata_recv
@ GRPC_OP_RECV_INITIAL_METADATA
@ GRPC_OP_SEND_STATUS_FROM_SERVER
#define FEATURE_MASK_SUPPORTS_REQUEST_PROXYING
GRPCAPI void grpc_call_unref(grpc_call *call)
void max_message_length_pre_init(void)
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
void cq_verifier_destroy(cq_verifier *v)
struct grpc_call grpc_call
#define GRPC_SLICE_START_PTR(slice)
void grpc_channel_args_destroy(grpc_channel_args *a)
GPRAPI grpc_slice grpc_slice_from_static_string(const char *source)
cq_verifier * cq_verifier_create(grpc_completion_queue *cq)
void max_message_length(grpc_end2end_test_config config)
static grpc_metadata_array request_metadata_recv
GRPCAPI void grpc_server_destroy(grpc_server *server)
#define CQ_EXPECT_COMPLETION(v, tag, success)
static void test_max_message_length_on_request(grpc_end2end_test_config config, bool send_limit, bool use_service_config, bool use_string_json_value)
grpc_slice * status_details
static void drain_cq(grpc_completion_queue *cq)
static grpc_slice details
GRPCAPI grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_call *parent_call, uint32_t propagation_mask, grpc_completion_queue *completion_queue, grpc_slice method, const grpc_slice *host, gpr_timespec deadline, void *reserved)
struct grpc_op::grpc_op_data::grpc_op_recv_close_on_server recv_close_on_server
static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, const char *test_name, grpc_channel_args *client_args, grpc_channel_args *server_args)
#define GRPC_PROPAGATE_DEFAULTS
struct grpc_op::grpc_op_data::grpc_op_send_status_from_server send_status_from_server
grpc_arg grpc_channel_arg_integer_create(char *name, int value)
static void * tag(intptr_t t)
static void shutdown_server(grpc_end2end_test_fixture *f)
#define GRPC_ARG_SERVICE_CONFIG
GRPCAPI void grpc_completion_queue_destroy(grpc_completion_queue *cq)
@ GRPC_OP_SEND_INITIAL_METADATA
static grpc_metadata gzip_compression_override()
grpc_core::ExecCtx exec_ctx
struct grpc_op::grpc_op_data::grpc_op_send_message send_message
struct grpc_op::grpc_op_data::grpc_op_recv_status_on_client recv_status_on_client
size_t trailing_metadata_count
#define GRPC_ARG_MINIMAL_STACK
GRPCAPI void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)
GRPCAPI void grpc_byte_buffer_destroy(grpc_byte_buffer *bb)
GRPCAPI grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline, void *reserved)
void cq_verify(cq_verifier *v, int timeout_sec)
GRPCAPI void grpc_completion_queue_shutdown(grpc_completion_queue *cq)
GRPCAPI void grpc_channel_destroy(grpc_channel *channel)
static void shutdown_client(grpc_end2end_test_fixture *f)
static gpr_timespec five_seconds_from_now(void)
@ GRPC_OP_RECV_CLOSE_ON_SERVER
struct grpc_op::grpc_op_data::grpc_op_recv_initial_metadata recv_initial_metadata
grpc_slice * status_details
static void test_max_receive_message_length_on_compressed_response(grpc_end2end_test_config config, bool minimal_stack)
grpc_completion_type type
@ GRPC_OP_RECV_STATUS_ON_CLIENT
GPRAPI int grpc_slice_str_cmp(grpc_slice a, const char *b)
static grpc_metadata_array initial_metadata_recv
GRPCAPI grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved)
static grpc_completion_queue * cq
grpc_channel_args * grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add)
@ GRPC_OP_SEND_CLOSE_FROM_CLIENT
static grpc_call_details call_details
GRPCAPI void grpc_metadata_array_init(grpc_metadata_array *array)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:23