Changed Closure to TestClosure to avoid name conflict

pull/22066/head
Esun Kim 5 years ago
parent 3ed237d4bb
commit b92c3a2879
  1. 55
      test/cpp/microbenchmarks/bm_chttp2_transport.cc
  2. 10
      test/cpp/microbenchmarks/bm_pollset.cc

@ -154,14 +154,14 @@ class Fixture {
grpc_transport* t_; grpc_transport* t_;
}; };
class Closure : public grpc_closure { class TestClosure : public grpc_closure {
public: public:
virtual ~Closure() {} virtual ~TestClosure() {}
}; };
template <class F> template <class F>
std::unique_ptr<Closure> MakeClosure(F f) { std::unique_ptr<TestClosure> MakeTestClosure(F f) {
struct C : public Closure { struct C : public TestClosure {
explicit C(const F& f) : f_(f) { explicit C(const F& f) : f_(f) {
GRPC_CLOSURE_INIT(this, Execute, this, nullptr); GRPC_CLOSURE_INIT(this, Execute, this, nullptr);
} }
@ -170,7 +170,7 @@ std::unique_ptr<Closure> MakeClosure(F f) {
static_cast<C*>(arg)->f_(error); static_cast<C*>(arg)->f_(error);
} }
}; };
return std::unique_ptr<Closure>(new C(f)); return std::unique_ptr<TestClosure>(new C(f));
} }
template <class F> template <class F>
@ -267,7 +267,8 @@ static void BM_StreamCreateDestroy(benchmark::State& state) {
op.cancel_stream = true; op.cancel_stream = true;
op.payload = &op_payload; op.payload = &op_payload;
op_payload.cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; op_payload.cancel_stream.cancel_error = GRPC_ERROR_CANCELLED;
std::unique_ptr<Closure> next = MakeClosure([&, s](grpc_error* /*error*/) { std::unique_ptr<TestClosure> next =
MakeTestClosure([&, s](grpc_error* /*error*/) {
if (!state.KeepRunning()) { if (!state.KeepRunning()) {
delete s; delete s;
return; return;
@ -312,8 +313,8 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State& state) {
auto* s = new Stream(&f); auto* s = new Stream(&f);
grpc_transport_stream_op_batch op; grpc_transport_stream_op_batch op;
grpc_transport_stream_op_batch_payload op_payload(nullptr); grpc_transport_stream_op_batch_payload op_payload(nullptr);
std::unique_ptr<Closure> start; std::unique_ptr<TestClosure> start;
std::unique_ptr<Closure> done; std::unique_ptr<TestClosure> done;
auto reset_op = [&]() { auto reset_op = [&]() {
op = {}; op = {};
@ -333,7 +334,7 @@ static void BM_StreamCreateSendInitialMetadataDestroy(benchmark::State& state) {
f.FlushExecCtx(); f.FlushExecCtx();
gpr_event bm_done; gpr_event bm_done;
gpr_event_init(&bm_done); gpr_event_init(&bm_done);
start = MakeClosure([&, s](grpc_error* /*error*/) { start = MakeTestClosure([&, s](grpc_error* /*error*/) {
if (!state.KeepRunning()) { if (!state.KeepRunning()) {
delete s; delete s;
gpr_event_set(&bm_done, (void*)1); 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; op.payload->send_initial_metadata.send_initial_metadata = &b;
s->Op(&op); s->Op(&op);
}); });
done = MakeClosure([&](grpc_error* /*error*/) { done = MakeTestClosure([&](grpc_error* /*error*/) {
reset_op(); reset_op();
op.cancel_stream = true; op.cancel_stream = true;
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED;
@ -374,7 +375,7 @@ static void BM_TransportEmptyOp(benchmark::State& state) {
op = {}; op = {};
op.payload = &op_payload; op.payload = &op_payload;
}; };
std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { std::unique_ptr<TestClosure> c = MakeTestClosure([&](grpc_error* /*error*/) {
if (!state.KeepRunning()) return; if (!state.KeepRunning()) return;
reset_op(); reset_op();
op.on_complete = c.get(); op.on_complete = c.get();
@ -387,8 +388,8 @@ static void BM_TransportEmptyOp(benchmark::State& state) {
op_payload.cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; op_payload.cancel_stream.cancel_error = GRPC_ERROR_CANCELLED;
gpr_event* stream_cancel_done = new gpr_event; gpr_event* stream_cancel_done = new gpr_event;
gpr_event_init(stream_cancel_done); gpr_event_init(stream_cancel_done);
std::unique_ptr<Closure> stream_cancel_closure = std::unique_ptr<TestClosure> stream_cancel_closure =
MakeClosure([&](grpc_error* error) { MakeTestClosure([&](grpc_error* error) {
GPR_ASSERT(error == GRPC_ERROR_NONE); GPR_ASSERT(error == GRPC_ERROR_NONE);
gpr_event_set(stream_cancel_done, (void*)(1)); gpr_event_set(stream_cancel_done, (void*)(1));
}); });
@ -436,7 +437,7 @@ static void BM_TransportStreamSend(benchmark::State& state) {
gpr_event* bm_done = new gpr_event; gpr_event* bm_done = new gpr_event;
gpr_event_init(bm_done); gpr_event_init(bm_done);
std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { std::unique_ptr<TestClosure> c = MakeTestClosure([&](grpc_error* /*error*/) {
if (!state.KeepRunning()) { if (!state.KeepRunning()) {
gpr_event_set(bm_done, (void*)(1)); gpr_event_set(bm_done, (void*)(1));
return; return;
@ -471,8 +472,8 @@ static void BM_TransportStreamSend(benchmark::State& state) {
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED;
gpr_event* stream_cancel_done = new gpr_event; gpr_event* stream_cancel_done = new gpr_event;
gpr_event_init(stream_cancel_done); gpr_event_init(stream_cancel_done);
std::unique_ptr<Closure> stream_cancel_closure = std::unique_ptr<TestClosure> stream_cancel_closure =
MakeClosure([&](grpc_error* error) { MakeTestClosure([&](grpc_error* error) {
GPR_ASSERT(error == GRPC_ERROR_NONE); GPR_ASSERT(error == GRPC_ERROR_NONE);
gpr_event_set(stream_cancel_done, (void*)(1)); gpr_event_set(stream_cancel_done, (void*)(1));
}); });
@ -575,17 +576,17 @@ static void BM_TransportStreamRecv(benchmark::State& state) {
"addmd", grpc_metadata_batch_add_tail(&b, &storage[i], elems[i]))); "addmd", grpc_metadata_batch_add_tail(&b, &storage[i], elems[i])));
} }
std::unique_ptr<Closure> do_nothing = std::unique_ptr<TestClosure> do_nothing =
MakeClosure([](grpc_error* /*error*/) {}); MakeTestClosure([](grpc_error* /*error*/) {});
uint32_t received; uint32_t received;
std::unique_ptr<Closure> drain_start; std::unique_ptr<TestClosure> drain_start;
std::unique_ptr<Closure> drain; std::unique_ptr<TestClosure> drain;
std::unique_ptr<Closure> drain_continue; std::unique_ptr<TestClosure> drain_continue;
grpc_slice recv_slice; grpc_slice recv_slice;
std::unique_ptr<Closure> c = MakeClosure([&](grpc_error* /*error*/) { std::unique_ptr<TestClosure> c = MakeTestClosure([&](grpc_error* /*error*/) {
if (!state.KeepRunning()) return; if (!state.KeepRunning()) return;
// force outgoing window to be yuge // force outgoing window to be yuge
s->chttp2_stream()->flow_control->TestOnlyForceHugeWindow(); s->chttp2_stream()->flow_control->TestOnlyForceHugeWindow();
@ -600,7 +601,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) {
f.PushInput(grpc_slice_ref(incoming_data)); f.PushInput(grpc_slice_ref(incoming_data));
}); });
drain_start = MakeClosure([&](grpc_error* /*error*/) { drain_start = MakeTestClosure([&](grpc_error* /*error*/) {
if (recv_stream == nullptr) { if (recv_stream == nullptr) {
GPR_ASSERT(!state.KeepRunning()); GPR_ASSERT(!state.KeepRunning());
return; return;
@ -608,7 +609,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) {
grpc_core::Closure::Run(DEBUG_LOCATION, drain.get(), GRPC_ERROR_NONE); grpc_core::Closure::Run(DEBUG_LOCATION, drain.get(), GRPC_ERROR_NONE);
}); });
drain = MakeClosure([&](grpc_error* /*error*/) { drain = MakeTestClosure([&](grpc_error* /*error*/) {
do { do {
if (received == recv_stream->length()) { if (received == recv_stream->length()) {
recv_stream.reset(); recv_stream.reset();
@ -622,7 +623,7 @@ static void BM_TransportStreamRecv(benchmark::State& state) {
grpc_slice_unref_internal(recv_slice), true)); grpc_slice_unref_internal(recv_slice), true));
}); });
drain_continue = MakeClosure([&](grpc_error* /*error*/) { drain_continue = MakeTestClosure([&](grpc_error* /*error*/) {
recv_stream->Pull(&recv_slice); recv_stream->Pull(&recv_slice);
received += GRPC_SLICE_LENGTH(recv_slice); received += GRPC_SLICE_LENGTH(recv_slice);
grpc_slice_unref_internal(recv_slice); grpc_slice_unref_internal(recv_slice);
@ -657,8 +658,8 @@ static void BM_TransportStreamRecv(benchmark::State& state) {
op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED; op.payload->cancel_stream.cancel_error = GRPC_ERROR_CANCELLED;
gpr_event* stream_cancel_done = new gpr_event; gpr_event* stream_cancel_done = new gpr_event;
gpr_event_init(stream_cancel_done); gpr_event_init(stream_cancel_done);
std::unique_ptr<Closure> stream_cancel_closure = std::unique_ptr<TestClosure> stream_cancel_closure =
MakeClosure([&](grpc_error* error) { MakeTestClosure([&](grpc_error* error) {
GPR_ASSERT(error == GRPC_ERROR_NONE); GPR_ASSERT(error == GRPC_ERROR_NONE);
gpr_event_set(stream_cancel_done, (void*)(1)); gpr_event_set(stream_cancel_done, (void*)(1));
}); });

@ -157,14 +157,14 @@ static void BM_PollAddFd(benchmark::State& state) {
} }
BENCHMARK(BM_PollAddFd); BENCHMARK(BM_PollAddFd);
class Closure : public grpc_closure { class TestClosure : public grpc_closure {
public: public:
virtual ~Closure() {} virtual ~TestClosure() {}
}; };
template <class F> template <class F>
Closure* MakeClosure(F f) { TestClosure* MakeTestClosure(F f) {
struct C : public Closure { struct C : public TestClosure {
explicit C(F f) : f_(f) { GRPC_CLOSURE_INIT(this, C::cbfn, this, nullptr); } explicit C(F f) : f_(f) { GRPC_CLOSURE_INIT(this, C::cbfn, this, nullptr); }
static void cbfn(void* arg, grpc_error* /*error*/) { static void cbfn(void* arg, grpc_error* /*error*/) {
C* p = static_cast<C*>(arg); C* p = static_cast<C*>(arg);
@ -221,7 +221,7 @@ static void BM_SingleThreadPollOneFd(benchmark::State& state) {
grpc_fd* wakeup = grpc_fd_create(wakeup_fd.read_fd, "wakeup_read", false); grpc_fd* wakeup = grpc_fd_create(wakeup_fd.read_fd, "wakeup_read", false);
grpc_pollset_add_fd(ps, wakeup); grpc_pollset_add_fd(ps, wakeup);
bool done = false; bool done = false;
Closure* continue_closure = MakeClosure([&]() { TestClosure* continue_closure = MakeTestClosure([&]() {
GRPC_ERROR_UNREF(grpc_wakeup_fd_consume_wakeup(&wakeup_fd)); GRPC_ERROR_UNREF(grpc_wakeup_fd_consume_wakeup(&wakeup_fd));
if (!state.KeepRunning()) { if (!state.KeepRunning()) {
done = true; done = true;

Loading…
Cancel
Save