Reviewer comments

pull/22575/head
Yash Tibrewal 5 years ago
parent 7189d7ca62
commit 67779b1b18
  1. 2
      BUILD
  2. 4
      include/grpc/impl/codegen/grpc_types.h
  3. 2
      src/core/ext/filters/http/message_compress/message_decompress_filter.cc
  4. 6
      src/core/ext/filters/http/message_compress/message_decompress_filter.h
  5. 22
      test/core/end2end/tests/compressed_payload.cc
  6. 9
      test/core/end2end/tests/workaround_cronet_compression.cc

@ -1193,7 +1193,7 @@ grpc_cc_library(
"src/core/ext/filters/http/client/http_client_filter.cc", "src/core/ext/filters/http/client/http_client_filter.cc",
"src/core/ext/filters/http/http_filters_plugin.cc", "src/core/ext/filters/http/http_filters_plugin.cc",
"src/core/ext/filters/http/message_compress/message_compress_filter.cc", "src/core/ext/filters/http/message_compress/message_compress_filter.cc",
"src/core/ext/filters/http/message_decompress/message_decompress_filter.cc", "src/core/ext/filters/http/message_compress/message_decompress_filter.cc",
"src/core/ext/filters/http/server/http_server_filter.cc", "src/core/ext/filters/http/server/http_server_filter.cc",
], ],
hdrs = [ hdrs = [

@ -177,8 +177,8 @@ typedef struct {
/** Experimental Arg. Enable/disable support for per-message decompression. /** Experimental Arg. Enable/disable support for per-message decompression.
Defaults to 1. If disabled, decompression will not be performed and the Defaults to 1. If disabled, decompression will not be performed and the
application will see the compressed message in the byte buffer. */ application will see the compressed message in the byte buffer. */
#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION_INSIDE_CORE \ #define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \
"grpc.per_message_decompression_inside_core" "grpc.per_message_decompression"
/** Enable/disable support for deadline checking. Defaults to 1, unless /** Enable/disable support for deadline checking. Defaults to 1, unless
GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */ GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */
#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking" #define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking"

@ -27,7 +27,7 @@
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpc/support/string_util.h> #include <grpc/support/string_util.h>
#include "src/core/ext/filters/http/message_decompress/message_decompress_filter.h" #include "src/core/ext/filters/http/message_compress/message_decompress_filter.h"
#include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/compression/algorithm_metadata.h" #include "src/core/lib/compression/algorithm_metadata.h"
#include "src/core/lib/compression/compression_args.h" #include "src/core/lib/compression/compression_args.h"

@ -16,8 +16,8 @@
// //
// //
#ifndef GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_DECOMPRESS_MESSAGE_DECOMPRESS_FILTER_H #ifndef GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_DECOMPRESS_FILTER_H
#define GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_DECOMPRESS_MESSAGE_DECOMPRESS_FILTER_H #define GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_DECOMPRESS_FILTER_H
#include <grpc/support/port_platform.h> #include <grpc/support/port_platform.h>
@ -25,5 +25,5 @@
extern const grpc_channel_filter grpc_message_decompress_filter; extern const grpc_channel_filter grpc_message_decompress_filter;
#endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_DECOMPRESS_MESSAGE_DECOMPRESS_FILTER_H \ #endif /* GRPC_CORE_EXT_FILTERS_HTTP_MESSAGE_COMPRESS_MESSAGE_DECOMPRESS_FILTER_H \
*/ */

@ -41,9 +41,12 @@ static void* tag(intptr_t t) { return (void*)t; }
static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config, static grpc_end2end_test_fixture begin_test(grpc_end2end_test_config config,
const char* test_name, const char* test_name,
grpc_channel_args* client_args, grpc_channel_args* client_args,
grpc_channel_args* server_args) { grpc_channel_args* server_args,
bool decompress_in_core) {
grpc_end2end_test_fixture f; grpc_end2end_test_fixture f;
gpr_log(GPR_INFO, "Running test: %s/%s", test_name, config.name); gpr_log(GPR_INFO, "Running test: %s%s/%s",
decompress_in_core ? "" : "_with_decompression_disabled", test_name,
config.name);
f = config.create_fixture(client_args, server_args); f = config.create_fixture(client_args, server_args);
config.init_server(&f, server_args); config.init_server(&f, server_args);
config.init_client(&f, client_args); config.init_client(&f, client_args);
@ -134,9 +137,7 @@ static void request_for_disabled_algorithm(
if (!decompress_in_core) { if (!decompress_in_core) {
grpc_arg disable_decompression_in_core_arg = grpc_arg disable_decompression_in_core_arg =
grpc_channel_arg_integer_create( grpc_channel_arg_integer_create(
const_cast<char*>( const_cast<char*>(GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION), 0);
GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION_INSIDE_CORE),
0);
grpc_channel_args* old_client_args = client_args; grpc_channel_args* old_client_args = client_args;
grpc_channel_args* old_server_args = server_args; grpc_channel_args* old_server_args = server_args;
client_args = grpc_channel_args_copy_and_add( client_args = grpc_channel_args_copy_and_add(
@ -147,7 +148,8 @@ static void request_for_disabled_algorithm(
grpc_channel_args_destroy(old_server_args); grpc_channel_args_destroy(old_server_args);
} }
f = begin_test(config, test_name, client_args, server_args); f = begin_test(config, test_name, client_args, server_args,
decompress_in_core);
cqv = cq_verifier_create(f.cq); cqv = cq_verifier_create(f.cq);
gpr_timespec deadline = five_seconds_from_now(); gpr_timespec deadline = five_seconds_from_now();
@ -323,9 +325,7 @@ static void request_with_payload_template_inner(
if (!decompress_in_core) { if (!decompress_in_core) {
grpc_arg disable_decompression_in_core_arg = grpc_arg disable_decompression_in_core_arg =
grpc_channel_arg_integer_create( grpc_channel_arg_integer_create(
const_cast<char*>( const_cast<char*>(GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION), 0);
GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION_INSIDE_CORE),
0);
grpc_channel_args* old_client_args = client_args; grpc_channel_args* old_client_args = client_args;
grpc_channel_args* old_server_args = server_args; grpc_channel_args* old_server_args = server_args;
client_args = grpc_channel_args_copy_and_add( client_args = grpc_channel_args_copy_and_add(
@ -335,7 +335,8 @@ static void request_with_payload_template_inner(
grpc_channel_args_destroy(old_client_args); grpc_channel_args_destroy(old_client_args);
grpc_channel_args_destroy(old_server_args); grpc_channel_args_destroy(old_server_args);
} }
f = begin_test(config, test_name, client_args, server_args); f = begin_test(config, test_name, client_args, server_args,
decompress_in_core);
cqv = cq_verifier_create(f.cq); cqv = cq_verifier_create(f.cq);
gpr_timespec deadline = five_seconds_from_now(); gpr_timespec deadline = five_seconds_from_now();
@ -491,7 +492,6 @@ static void request_with_payload_template_inner(
cq_verify(cqv); cq_verify(cqv);
GPR_ASSERT(response_payload_recv->type == GRPC_BB_RAW); GPR_ASSERT(response_payload_recv->type == GRPC_BB_RAW);
gpr_log(GPR_ERROR, "%d", decompress_in_core);
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, response_str)); GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, response_str));
if (server_compression_level > GRPC_COMPRESS_LEVEL_NONE) { if (server_compression_level > GRPC_COMPRESS_LEVEL_NONE) {
const grpc_compression_algorithm algo_for_server_level = const grpc_compression_algorithm algo_for_server_level =

@ -143,9 +143,7 @@ static void request_with_payload_template(
if (!decompress_in_core) { if (!decompress_in_core) {
grpc_arg disable_decompression_in_core_arg = grpc_arg disable_decompression_in_core_arg =
grpc_channel_arg_integer_create( grpc_channel_arg_integer_create(
const_cast<char*>( const_cast<char*>(GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION), 0);
GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION_INSIDE_CORE),
0);
grpc_channel_args* old_client_args = client_args; grpc_channel_args* old_client_args = client_args;
grpc_channel_args* old_server_args = server_args; grpc_channel_args* old_server_args = server_args;
client_args = grpc_channel_args_copy_and_add( client_args = grpc_channel_args_copy_and_add(
@ -401,8 +399,9 @@ static void test_workaround_cronet_compression(
/* ignored */ GRPC_COMPRESS_LEVEL_NONE, /* ignored */ GRPC_COMPRESS_LEVEL_NONE,
workaround_configs[i].user_agent_override, true); workaround_configs[i].user_agent_override, true);
request_with_payload_template( request_with_payload_template(
config, "test_invoke_request_with_compressed_payload", 0, config,
GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, "test_invoke_request_with_compressed_payload_with_compression_disabled",
0, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP, GRPC_COMPRESS_GZIP,
workaround_configs[i].expected_algorithm_from_server, nullptr, false, workaround_configs[i].expected_algorithm_from_server, nullptr, false,
/* ignored */ GRPC_COMPRESS_LEVEL_NONE, /* ignored */ GRPC_COMPRESS_LEVEL_NONE,
workaround_configs[i].user_agent_override, false); workaround_configs[i].user_agent_override, false);

Loading…
Cancel
Save