aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/transport
diff options
context:
space:
mode:
authorGravatar Hope Casey-Allen <hcaseyal@google.com>2018-09-10 19:23:05 -0700
committerGravatar Hope Casey-Allen <hcaseyal@google.com>2018-09-10 19:23:05 -0700
commit009d828341a272e05401daf32907d8f400b19a90 (patch)
treef900ba159da4462eb071f8b284c012ecedc18574 /src/core/ext/transport
parentc004a8e2593bfd4f493d35bfc995b895b51c261b (diff)
WIP. Modifying grpc_mdelem to store the static hpack table idnex
Diffstat (limited to 'src/core/ext/transport')
-rw-r--r--src/core/ext/transport/chttp2/transport/chttp2_transport.cc19
-rw-r--r--src/core/ext/transport/chttp2/transport/hpack_encoder.cc4
2 files changed, 9 insertions, 14 deletions
diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
index 3d6f150ea1..9bdad94e82 100644
--- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
+++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
@@ -1332,18 +1332,13 @@ static void log_metadata(const grpc_metadata_batch* md_batch, uint32_t id,
bool is_client, bool is_initial) {
for (grpc_linked_mdelem* md = md_batch->list.head; md != nullptr;
md = md->next) {
- if (grpc_metadata_batch_is_valid_mdelem_index(md->md_index)) {
- gpr_log(GPR_INFO, "HTTP:%d:%s:%s: hpack table index: %d", id,
- is_initial ? "HDR" : "TRL", is_client ? "CLI" : "SVR",
- md->md_index);
- } else {
- char* key = grpc_slice_to_c_string(GRPC_MDKEY(md->md));
- char* value = grpc_slice_to_c_string(GRPC_MDVALUE(md->md));
- gpr_log(GPR_INFO, "HTTP:%d:%s:%s: %s: %s", id, is_initial ? "HDR" : "TRL",
- is_client ? "CLI" : "SVR", key, value);
- gpr_free(key);
- gpr_free(value);
- }
+ grpc_mdelem mdelem = grpc_get_md_from_linked_mdelem(md);
+ char* key = grpc_slice_to_c_string(GRPC_MDKEY(mdelem));
+ char* value = grpc_slice_to_c_string(GRPC_MDVALUE(mdelem));
+ gpr_log(GPR_INFO, "HTTP:%d:%s:%s: %s: %s", id, is_initial ? "HDR" : "TRL",
+ is_client ? "CLI" : "SVR", key, value);
+ gpr_free(key);
+ gpr_free(value);
}
}
diff --git a/src/core/ext/transport/chttp2/transport/hpack_encoder.cc b/src/core/ext/transport/chttp2/transport/hpack_encoder.cc
index 9e63144c94..6674b70152 100644
--- a/src/core/ext/transport/chttp2/transport/hpack_encoder.cc
+++ b/src/core/ext/transport/chttp2/transport/hpack_encoder.cc
@@ -689,7 +689,7 @@ void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor* c,
}
for (size_t i = 0; i < extra_headers_size; ++i) {
grpc_linked_mdelem* linked_md = extra_headers[i];
- if (grpc_metadata_batch_is_valid_mdelem_index(linked_md->md_index)) {
+ if (grpc_is_mdelem_index_used(linked_md)) {
emit_indexed(c, linked_md->md_index, &st);
} else {
hpack_enc(c, linked_md->md, &st);
@@ -697,7 +697,7 @@ void grpc_chttp2_encode_header(grpc_chttp2_hpack_compressor* c,
}
grpc_metadata_batch_assert_ok(metadata);
for (grpc_linked_mdelem* l = metadata->list.head; l; l = l->next) {
- if (grpc_metadata_batch_is_valid_mdelem_index(l->md_index)) {
+ if (grpc_is_mdelem_index_used(l)) {
emit_indexed(c, l->md_index, &st);
} else {
hpack_enc(c, l->md, &st);