| 
					
				 | 
			
			
				@@ -219,10 +219,18 @@ bool grpc_chttp2_begin_write(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* send initial metadata if it's available */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!sent_initial_metadata && s->send_initial_metadata) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      grpc_chttp2_encode_header( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          exec_ctx, &t->hpack_compressor, s->id, s->send_initial_metadata, 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          t->settings[GRPC_ACKED_SETTINGS][GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          &s->stats.outgoing, &t->outbuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      grpc_encode_header_options hopt = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .stream_id = s->id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .is_eof = false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .use_true_binary_metadata = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              t->settings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  [GRPC_ACKED_SETTINGS] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  [GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA] != 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .max_frame_size = t->settings[GRPC_ACKED_SETTINGS] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                       [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          .stats = &s->stats.outgoing}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      grpc_chttp2_encode_header(exec_ctx, &t->hpack_compressor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                s->send_initial_metadata, &hopt, &t->outbuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       s->send_initial_metadata = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       s->sent_initial_metadata = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       sent_initial_metadata = true; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -300,11 +308,21 @@ bool grpc_chttp2_begin_write(grpc_exec_ctx *exec_ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           grpc_chttp2_encode_data(s->id, &s->flow_controlled_buffer, 0, true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   &s->stats.outgoing, &t->outbuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          grpc_chttp2_encode_header( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              exec_ctx, &t->hpack_compressor, s->id, s->send_trailing_metadata, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              true, t->settings[GRPC_ACKED_SETTINGS] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                               [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              &s->stats.outgoing, &t->outbuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          grpc_encode_header_options hopt = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .stream_id = s->id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .is_eof = true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .use_true_binary_metadata = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  t->settings 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      [GRPC_ACKED_SETTINGS] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      [GRPC_CHTTP2_SETTINGS_GRPC_ALLOW_TRUE_BINARY_METADATA] != 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .max_frame_size = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  t->settings[GRPC_ACKED_SETTINGS] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             [GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              .stats = &s->stats.outgoing}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          grpc_chttp2_encode_header(exec_ctx, &t->hpack_compressor, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    s->send_trailing_metadata, &hopt, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    &t->outbuf); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         s->send_trailing_metadata = NULL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         s->sent_trailing_metadata = true; 
			 |