diff options
author | 2017-10-30 23:35:05 -0600 | |
---|---|---|
committer | 2017-11-09 09:46:25 -0700 | |
commit | a6746340550ef6504ce1ecbc86256a6e2af4f21e (patch) | |
tree | a101e3e6cd009c2ba630c4effc398acbd12100ee | |
parent | f4145c0a8f47e6ffeab5887c82c39d4fd9a51eee (diff) |
Handle frame with priority flag for canceled stream
-rw-r--r-- | src/core/ext/transport/chttp2/transport/parsing.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/ext/transport/chttp2/transport/parsing.cc b/src/core/ext/transport/chttp2/transport/parsing.cc index 8a3774d688..6737c26e72 100644 --- a/src/core/ext/transport/chttp2/transport/parsing.cc +++ b/src/core/ext/transport/chttp2/transport/parsing.cc @@ -590,7 +590,11 @@ static grpc_error* init_header_frame_parser(grpc_exec_ctx* exec_ctx, GRPC_CHTTP2_IF_TRACING(gpr_log( GPR_ERROR, "ignoring new grpc_chttp2_stream creation on client")); } - return init_skip_frame_parser(exec_ctx, t, 1); + grpc_error* err = init_skip_frame_parser(exec_ctx, t, 1); + if (t->incoming_frame_flags & GRPC_CHTTP2_FLAG_HAS_PRIORITY) { + grpc_chttp2_hpack_parser_set_has_priority(&t->hpack_parser); + } + return err; } else if (t->last_new_stream_id >= t->incoming_stream_id) { GRPC_CHTTP2_IF_TRACING(gpr_log( GPR_ERROR, |