aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/transport
diff options
context:
space:
mode:
authorGravatar Mark D. Roth <roth@google.com>2017-09-05 10:20:43 -0700
committerGravatar GitHub <noreply@github.com>2017-09-05 10:20:43 -0700
commit4190f39afb5159488571b92292da892509020968 (patch)
treedefb0a3bee37391eec68662360a29d706ac8b4fe /src/core/ext/transport
parentdfccd838ea55a3c02d95e7a0282aa17f8c9a084b (diff)
parent9e3a19ee95e2ecbb10f455202e4bb8fc6179441b (diff)
Merge pull request #12298 from markdroth/default_metadata_fix
Detect default metadata using the callout list.
Diffstat (limited to 'src/core/ext/transport')
-rw-r--r--src/core/ext/transport/chttp2/transport/writing.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/core/ext/transport/chttp2/transport/writing.c b/src/core/ext/transport/chttp2/transport/writing.c
index 80eb51ff0d..711938b278 100644
--- a/src/core/ext/transport/chttp2/transport/writing.c
+++ b/src/core/ext/transport/chttp2/transport/writing.c
@@ -154,17 +154,8 @@ static uint32_t target_write_size(grpc_chttp2_transport *t) {
}
// Returns true if initial_metadata contains only default headers.
-//
-// TODO(roth): The fact that we hard-code these particular headers here
-// is fairly ugly. Need some better way to know which headers are
-// default, maybe via a bit in the static metadata table?
static bool is_default_initial_metadata(grpc_metadata_batch *initial_metadata) {
- int num_default_fields =
- (initial_metadata->idx.named.status != NULL) +
- (initial_metadata->idx.named.content_type != NULL) +
- (initial_metadata->idx.named.grpc_encoding != NULL) +
- (initial_metadata->idx.named.grpc_accept_encoding != NULL);
- return (size_t)num_default_fields == initial_metadata->list.count;
+ return initial_metadata->list.default_count == initial_metadata->list.count;
}
grpc_chttp2_begin_write_result grpc_chttp2_begin_write(