diff --git a/src/core/transport/chttp2/hpack_table.c b/src/core/transport/chttp2/hpack_table.c index fabc950872831af98c8e7375b5fd713db3d5b904..0b034b72a4b13b6950d8832d2ac8cc0d463489d3 100644 --- a/src/core/transport/chttp2/hpack_table.c +++ b/src/core/transport/chttp2/hpack_table.c @@ -324,10 +324,9 @@ int grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md) { } /* copy the finalized entry in */ - tbl->ents[tbl->last_ent] = GRPC_MDELEM_REF(md); + tbl->ents[(tbl->first_ent + tbl->num_ents) % tbl->cap_entries] = GRPC_MDELEM_REF(md); /* update accounting values */ - tbl->last_ent = ((tbl->last_ent + 1) % tbl->cap_entries); tbl->num_ents++; tbl->mem_used += (gpr_uint32)elem_bytes; return 1; diff --git a/src/core/transport/chttp2/hpack_table.h b/src/core/transport/chttp2/hpack_table.h index 6d506de8a5e9ba4d7e948d6f150e5d3264cc8bad..e03b8c19b3c3d38da2ea4bfd8a2b5aaf3a873dee 100644 --- a/src/core/transport/chttp2/hpack_table.h +++ b/src/core/transport/chttp2/hpack_table.h @@ -62,8 +62,6 @@ typedef struct { grpc_mdctx *mdctx; /* the first used entry in ents */ gpr_uint32 first_ent; - /* the last used entry in ents */ - gpr_uint32 last_ent; /* how many entries are in the table */ gpr_uint32 num_ents; /* the amount of memory used by the table, according to the hpack algorithm */ diff --git a/test/core/end2end/fixtures/proxy.c b/test/core/end2end/fixtures/proxy.c index 1090ad667d124cce01985c6705607920485de335..b793358653025aa676714d9274e6726e7009286f 100644 --- a/test/core/end2end/fixtures/proxy.c +++ b/test/core/end2end/fixtures/proxy.c @@ -146,7 +146,6 @@ void grpc_end2end_proxy_destroy(grpc_end2end_proxy *proxy) { } static void unrefpc(proxy_call *pc, const char *reason) { - gpr_log(GPR_DEBUG, "PROXY UNREF %s", reason); if (gpr_unref(&pc->refs)) { grpc_call_destroy(pc->c2p); grpc_call_destroy(pc->p2s); @@ -159,7 +158,6 @@ static void unrefpc(proxy_call *pc, const char *reason) { } static void refpc(proxy_call *pc, const char *reason) { - gpr_log(GPR_DEBUG, "PROXY REF %s", reason); gpr_ref(&pc->refs); } diff --git a/test/core/transport/chttp2/hpack_parser_test.c b/test/core/transport/chttp2/hpack_parser_test.c index 3a313375a499ee1e882219854f088a776c44ae39..e4cabeae3bdb2a23c84bba8e42feb03ce4fe5e51 100644 --- a/test/core/transport/chttp2/hpack_parser_test.c +++ b/test/core/transport/chttp2/hpack_parser_test.c @@ -151,7 +151,8 @@ static void test_vectors(grpc_slice_split_mode mode) { grpc_chttp2_hpack_parser_destroy(&parser); grpc_chttp2_hpack_parser_init(&parser, mdctx); - parser.table.max_bytes = 256; +grpc_chttp2_hptbl_set_max_bytes(&parser.table, 256); +grpc_chttp2_hptbl_set_current_table_size(&parser.table, 256); /* D.5.1 */ test_vector(&parser, mode, "4803 3330 3258 0770 7269 7661 7465 611d"