|  | @@ -325,6 +325,19 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write(
 | 
	
		
			
				|  |  |                  is_last_frame =
 | 
	
		
			
				|  |  |                      is_last_data_frame && s->send_trailing_metadata != NULL &&
 | 
	
		
			
				|  |  |                      grpc_metadata_batch_is_empty(s->send_trailing_metadata);
 | 
	
		
			
				|  |  | +                if (is_last_frame && s->stream_compression_ctx) {
 | 
	
		
			
				|  |  | +                  GPR_ASSERT(grpc_stream_compress(
 | 
	
		
			
				|  |  | +                      s->stream_compression_ctx, &s->flow_controlled_buffer,
 | 
	
		
			
				|  |  | +                      s->compressed_data_buffer, NULL, MAX_SIZE_T,
 | 
	
		
			
				|  |  | +                      GRPC_STREAM_COMPRESSION_FLUSH_FINISH));
 | 
	
		
			
				|  |  | +                  grpc_stream_compression_context_destroy(s->stream_compression_ctx);
 | 
	
		
			
				|  |  | +                  s->stream_compression_ctx = NULL;
 | 
	
		
			
				|  |  | +                  /* After finish, bytes in s->compressed_data_buffer may be
 | 
	
		
			
				|  |  | +                   * more than max_outgoing. Start another round of the current
 | 
	
		
			
				|  |  | +                   * while loop so that send_bytes, is_last_data_frame and
 | 
	
		
			
				|  |  | +                   * is_last_frame are recalculated. */
 | 
	
		
			
				|  |  | +                  continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |                  grpc_chttp2_encode_data(s->id, s->compressed_data_buffer,
 | 
	
		
			
				|  |  |                                          send_bytes, is_last_frame,
 | 
	
		
			
				|  |  |                                          &s->stats.outgoing, &t->outbuf);
 | 
	
	
		
			
				|  | @@ -345,6 +358,7 @@ grpc_chttp2_begin_write_result grpc_chttp2_begin_write(
 | 
	
		
			
				|  |  |                      s->stream_compression_ctx, &s->flow_controlled_buffer,
 | 
	
		
			
				|  |  |                      s->compressed_data_buffer, NULL, MAX_SIZE_T,
 | 
	
		
			
				|  |  |                      GRPC_STREAM_COMPRESSION_FLUSH_SYNC));
 | 
	
		
			
				|  |  | +                GPR_ASSERT(s->compressed_data_buffer->length > 0);
 | 
	
		
			
				|  |  |                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |            } else {
 |