| 
					
				 | 
			
			
				@@ -91,22 +91,23 @@ class DummyEndpoint : public grpc_endpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   static void read(grpc_endpoint* ep, grpc_slice_buffer* slices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                   grpc_closure* cb, bool urgent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                   grpc_closure* cb, bool /*urgent*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     static_cast<DummyEndpoint*>(ep)->QueueRead(slices, cb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static void write(grpc_endpoint* ep, grpc_slice_buffer* slices, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    grpc_closure* cb, void* arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static void write(grpc_endpoint* /*ep*/, grpc_slice_buffer* /*slices*/, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    grpc_closure* cb, void* /*arg*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     GRPC_CLOSURE_SCHED(cb, GRPC_ERROR_NONE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static void add_to_pollset(grpc_endpoint* ep, grpc_pollset* pollset) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static void add_to_pollset(grpc_endpoint* /*ep*/, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             grpc_pollset* /*pollset*/) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static void add_to_pollset_set(grpc_endpoint* ep, grpc_pollset_set* pollset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static void add_to_pollset_set(grpc_endpoint* /*ep*/, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                 grpc_pollset_set* /*pollset*/) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static void delete_from_pollset_set(grpc_endpoint* ep, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                      grpc_pollset_set* pollset) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static void delete_from_pollset_set(grpc_endpoint* /*ep*/, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      grpc_pollset_set* /*pollset*/) {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   static void shutdown(grpc_endpoint* ep, grpc_error* why) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_resource_user_shutdown(static_cast<DummyEndpoint*>(ep)->ru_); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -121,9 +122,9 @@ class DummyEndpoint : public grpc_endpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   static grpc_resource_user* get_resource_user(grpc_endpoint* ep) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return static_cast<DummyEndpoint*>(ep)->ru_; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static char* get_peer(grpc_endpoint* ep) { return gpr_strdup("test"); } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static int get_fd(grpc_endpoint* ep) { return 0; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static bool can_track_err(grpc_endpoint* ep) { return false; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static char* get_peer(grpc_endpoint* /*ep*/) { return gpr_strdup("test"); } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static int get_fd(grpc_endpoint* /*ep*/) { return 0; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static bool can_track_err(grpc_endpoint* /*ep*/) { return false; } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Fixture { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -234,7 +235,7 @@ class Stream { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  private: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  static void FinishDestroy(void* arg, grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  static void FinishDestroy(void* arg, grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     auto stream = static_cast<Stream*>(arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_transport_destroy_stream(stream->f_->transport(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                   static_cast<grpc_stream*>(stream->stream_), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -267,7 +268,7 @@ static void BM_StreamCreateDestroy(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   op.cancel_stream = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   op.payload = &op_payload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   op_payload.cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  std::unique_ptr<Closure> next = MakeClosure([&, s](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  std::unique_ptr<Closure> next = MakeClosure([&, s](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!state.KeepRunning()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       delete s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -333,7 +334,7 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event bm_done; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event_init(&bm_done); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  start = MakeClosure([&, s](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  start = MakeClosure([&, s](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!state.KeepRunning()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       delete s; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gpr_event_set(&bm_done, (void*)1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -346,7 +347,7 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op.payload->send_initial_metadata.send_initial_metadata = &b; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s->Op(&op); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  done = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  done = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reset_op(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op.cancel_stream = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,7 +375,7 @@ static void BM_TransportEmptyOp(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op.payload = &op_payload; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!state.KeepRunning()) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     reset_op(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     op.on_complete = c.get(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -397,7 +398,7 @@ static void BM_TransportEmptyOp(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event_wait(stream_cancel_done, gpr_inf_future(GPR_CLOCK_REALTIME)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   done_events.emplace_back(stream_cancel_done); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  s->DestroyThen(MakeOnceClosure([s](grpc_error* error) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  s->DestroyThen(MakeOnceClosure([s](grpc_error* /*error*/) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   track_counters.Finish(state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -436,7 +437,7 @@ static void BM_TransportStreamSend(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event* bm_done = new gpr_event; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event_init(bm_done); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!state.KeepRunning()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       gpr_event_set(bm_done, (void*)(1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -481,7 +482,7 @@ static void BM_TransportStreamSend(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event_wait(stream_cancel_done, gpr_inf_future(GPR_CLOCK_REALTIME)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   done_events.emplace_back(stream_cancel_done); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  s->DestroyThen(MakeOnceClosure([s](grpc_error* error) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  s->DestroyThen(MakeOnceClosure([s](grpc_error* /*error*/) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   track_counters.Finish(state); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_metadata_batch_destroy(&b); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -575,7 +576,8 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         "addmd", grpc_metadata_batch_add_tail(&b, &storage[i], elems[i]))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  std::unique_ptr<Closure> do_nothing = MakeClosure([](grpc_error* error) {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  std::unique_ptr<Closure> do_nothing = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      MakeClosure([](grpc_error* /*error*/) {}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   uint32_t received; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -584,7 +586,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   std::unique_ptr<Closure> drain_continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_slice recv_slice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (!state.KeepRunning()) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // force outgoing window to be yuge 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     s->chttp2_stream()->flow_control->TestOnlyForceHugeWindow(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -599,7 +601,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     f.PushInput(grpc_slice_ref(incoming_data)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  drain_start = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  drain_start = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (recv_stream == nullptr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       GPR_ASSERT(!state.KeepRunning()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -607,7 +609,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     GRPC_CLOSURE_RUN(drain.get(), GRPC_ERROR_NONE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  drain = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  drain = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     do { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (received == recv_stream->length()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         recv_stream.reset(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -621,7 +623,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               grpc_slice_unref_internal(recv_slice), true)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  drain_continue = MakeClosure([&](grpc_error* error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  drain_continue = MakeClosure([&](grpc_error* /*error*/) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     recv_stream->Pull(&recv_slice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     received += GRPC_SLICE_LENGTH(recv_slice); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     grpc_slice_unref_internal(recv_slice); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -666,7 +668,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   gpr_event_wait(stream_cancel_done, gpr_inf_future(GPR_CLOCK_REALTIME)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   done_events.emplace_back(stream_cancel_done); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  s->DestroyThen(MakeOnceClosure([s](grpc_error* error) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  s->DestroyThen(MakeOnceClosure([s](grpc_error* /*error*/) { delete s; })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_metadata_batch_destroy(&b); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   grpc_metadata_batch_destroy(&b_recv); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   f.FlushExecCtx(); 
			 |