diff options
author | 2015-12-10 14:43:04 -0800 | |
---|---|---|
committer | 2015-12-10 14:43:04 -0800 | |
commit | aae3b8cddcdaa878255eed81faeab4c3940ad7f7 (patch) | |
tree | 4539d5142a49911a65fcf6c7ebb82c64dc730d01 /src/core | |
parent | 03f6406b6d908949132f6e3afbdc0b59a12c44fb (diff) | |
parent | befb745853edecfe6ca8d39c1037e77f5740fc0a (diff) |
Merge github.com:grpc/grpc into ping-ping-ping-ping-ping-ping-ping-ping-ping
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/census/grpc_filter.c | 5 | ||||
-rw-r--r-- | src/core/surface/server_create.c | 13 | ||||
-rw-r--r-- | src/core/transport/chttp2/hpack_encoder.c | 7 |
3 files changed, 17 insertions, 8 deletions
diff --git a/src/core/census/grpc_filter.c b/src/core/census/grpc_filter.c index 8f18cd503e..4529ae9bd7 100644 --- a/src/core/census/grpc_filter.c +++ b/src/core/census/grpc_filter.c @@ -115,8 +115,11 @@ static void server_mutate_op(grpc_call_element *elem, static void server_start_transport_op(grpc_exec_ctx *exec_ctx, grpc_call_element *elem, grpc_transport_stream_op *op) { + /* TODO(ctiller): this code fails. I don't know why. I expect it's + incomplete, and someone should look at it soon. + call_data *calld = elem->call_data; - GPR_ASSERT((calld->op_id.upper != 0) || (calld->op_id.lower != 0)); + GPR_ASSERT((calld->op_id.upper != 0) || (calld->op_id.lower != 0)); */ server_mutate_op(elem, op); grpc_call_next_op(exec_ctx, elem, op); } diff --git a/src/core/surface/server_create.c b/src/core/surface/server_create.c index c7811a6d88..e362bb4376 100644 --- a/src/core/surface/server_create.c +++ b/src/core/surface/server_create.c @@ -32,14 +32,21 @@ */ #include <grpc/grpc.h> +#include "src/core/census/grpc_filter.h" +#include "src/core/channel/channel_args.h" +#include "src/core/channel/compress_filter.h" #include "src/core/surface/api_trace.h" #include "src/core/surface/completion_queue.h" #include "src/core/surface/server.h" -#include "src/core/channel/compress_filter.h" grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved) { - const grpc_channel_filter *filters[] = {&grpc_compress_filter}; + const grpc_channel_filter *filters[3]; + size_t num_filters = 0; + filters[num_filters++] = &grpc_compress_filter; + if (grpc_channel_args_is_census_enabled(args)) { + filters[num_filters++] = &grpc_server_census_filter; + } GRPC_API_TRACE("grpc_server_create(%p, %p)", 2, (args, reserved)); - return grpc_server_create_from_filters(filters, GPR_ARRAY_SIZE(filters), + return grpc_server_create_from_filters(filters, num_filters, args); } diff --git a/src/core/transport/chttp2/hpack_encoder.c b/src/core/transport/chttp2/hpack_encoder.c index 7575031e58..06f603db9c 100644 --- a/src/core/transport/chttp2/hpack_encoder.c +++ b/src/core/transport/chttp2/hpack_encoder.c @@ -365,10 +365,9 @@ static void hpack_enc(grpc_chttp2_hpack_compressor *c, grpc_mdelem *elem, GPR_ASSERT(GPR_SLICE_LENGTH(elem->key->slice) > 0); if (GPR_SLICE_START_PTR(elem->key->slice)[0] != ':') { /* regular header */ st->seen_regular_header = 1; - } else if (st->seen_regular_header != 0) { /* reserved header */ - gpr_log(GPR_ERROR, - "Reserved header (colon-prefixed) happening after regular ones."); - abort(); + } else { + GPR_ASSERT(st->seen_regular_header == 0 && + "Reserved header (colon-prefixed) happening after regular ones."); } inc_filter(HASH_FRAGMENT_1(elem_hash), &c->filter_elems_sum, c->filter_elems); |