|  | @@ -1168,6 +1168,7 @@ client_interceptors_end2end_test: $(BINDIR)/$(CONFIG)/client_interceptors_end2en
 | 
	
		
			
				|  |  |  client_lb_end2end_test: $(BINDIR)/$(CONFIG)/client_lb_end2end_test
 | 
	
		
			
				|  |  |  codegen_test_full: $(BINDIR)/$(CONFIG)/codegen_test_full
 | 
	
		
			
				|  |  |  codegen_test_minimal: $(BINDIR)/$(CONFIG)/codegen_test_minimal
 | 
	
		
			
				|  |  | +context_list_test: $(BINDIR)/$(CONFIG)/context_list_test
 | 
	
		
			
				|  |  |  credentials_test: $(BINDIR)/$(CONFIG)/credentials_test
 | 
	
		
			
				|  |  |  cxx_byte_buffer_test: $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test
 | 
	
		
			
				|  |  |  cxx_slice_test: $(BINDIR)/$(CONFIG)/cxx_slice_test
 | 
	
	
		
			
				|  | @@ -1673,6 +1674,7 @@ buildtests_cxx: privatelibs_cxx \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/client_lb_end2end_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/codegen_test_full \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/codegen_test_minimal \
 | 
	
		
			
				|  |  | +  $(BINDIR)/$(CONFIG)/context_list_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/credentials_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_slice_test \
 | 
	
	
		
			
				|  | @@ -1856,6 +1858,7 @@ buildtests_cxx: privatelibs_cxx \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/client_lb_end2end_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/codegen_test_full \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/codegen_test_minimal \
 | 
	
		
			
				|  |  | +  $(BINDIR)/$(CONFIG)/context_list_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/credentials_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test \
 | 
	
		
			
				|  |  |    $(BINDIR)/$(CONFIG)/cxx_slice_test \
 | 
	
	
		
			
				|  | @@ -2320,6 +2323,8 @@ test_cxx: buildtests_cxx
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/codegen_test_full || ( echo test codegen_test_full failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing codegen_test_minimal"
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/codegen_test_minimal || ( echo test codegen_test_minimal failed ; exit 1 )
 | 
	
		
			
				|  |  | +	$(E) "[RUN]     Testing context_list_test"
 | 
	
		
			
				|  |  | +	$(Q) $(BINDIR)/$(CONFIG)/context_list_test || ( echo test context_list_test failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing credentials_test"
 | 
	
		
			
				|  |  |  	$(Q) $(BINDIR)/$(CONFIG)/credentials_test || ( echo test credentials_test failed ; exit 1 )
 | 
	
		
			
				|  |  |  	$(E) "[RUN]     Testing cxx_byte_buffer_test"
 | 
	
	
		
			
				|  | @@ -3607,6 +3612,7 @@ LIBGRPC_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -4024,6 +4030,7 @@ LIBGRPC_CRONET_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -4442,6 +4449,7 @@ LIBGRPC_TEST_UTIL_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -4747,6 +4755,7 @@ LIBGRPC_TEST_UTIL_UNSECURE_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -4993,6 +5002,7 @@ LIBGRPC_UNSECURE_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -5672,6 +5682,7 @@ LIBGRPC++_CRONET_SRC = \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/bin_encoder.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_plugin.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
 | 
	
		
			
				|  |  | +    src/core/ext/transport/chttp2/transport/context_list.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/flow_control.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_data.cc \
 | 
	
		
			
				|  |  |      src/core/ext/transport/chttp2/transport/frame_goaway.cc \
 | 
	
	
		
			
				|  | @@ -17548,6 +17559,49 @@ $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: $(GENDIR)/src/proto
 | 
	
		
			
				|  |  |  $(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(GENDIR)/src/proto/grpc/testing/control.pb.cc $(GENDIR)/src/proto/grpc/testing/control.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.pb.cc $(GENDIR)/src/proto/grpc/testing/messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.pb.cc $(GENDIR)/src/proto/grpc/testing/payloads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/benchmark_service.pb.cc $(GENDIR)/src/proto/grpc/testing/benchmark_service.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/report_qps_scenario_service.pb.cc $(GENDIR)/src/proto/grpc/testing/report_qps_scenario_service.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/worker_service.pb.cc $(GENDIR)/src/proto/grpc/testing/worker_service.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.pb.cc $(GENDIR)/src/proto/grpc/testing/stats.grpc.pb.cc
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +CONTEXT_LIST_TEST_SRC = \
 | 
	
		
			
				|  |  | +    test/core/transport/chttp2/context_list_test.cc \
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CONTEXT_LIST_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(CONTEXT_LIST_TEST_SRC))))
 | 
	
		
			
				|  |  | +ifeq ($(NO_SECURE),true)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# You can't build secure targets if you don't have OpenSSL.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(BINDIR)/$(CONFIG)/context_list_test: openssl_dep_error
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +ifeq ($(NO_PROTOBUF),true)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.5.0+.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(BINDIR)/$(CONFIG)/context_list_test: protobuf_dep_error
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +else
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(BINDIR)/$(CONFIG)/context_list_test: $(PROTOBUF_DEP) $(CONTEXT_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 | 
	
		
			
				|  |  | +	$(E) "[LD]      Linking $@"
 | 
	
		
			
				|  |  | +	$(Q) mkdir -p `dirname $@`
 | 
	
		
			
				|  |  | +	$(Q) $(LDXX) $(LDFLAGS) $(CONTEXT_LIST_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/context_list_test
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +$(OBJDIR)/$(CONFIG)/test/core/transport/chttp2/context_list_test.o:  $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +deps_context_list_test: $(CONTEXT_LIST_TEST_OBJS:.o=.dep)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +ifneq ($(NO_SECURE),true)
 | 
	
		
			
				|  |  | +ifneq ($(NO_DEPS),true)
 | 
	
		
			
				|  |  | +-include $(CONTEXT_LIST_TEST_OBJS:.o=.dep)
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  CREDENTIALS_TEST_SRC = \
 | 
	
		
			
				|  |  |      test/cpp/client/credentials_test.cc \
 | 
	
		
			
				|  |  |  
 |