From fe9f9afaa04101af5e2382fdffda654c9bab8ccc Mon Sep 17 00:00:00 2001 From: Yijie Ma <5663878+yijiem@users.noreply.github.com> Date: Tue, 13 Dec 2022 11:14:40 -0800 Subject: [PATCH] EventEngine::RunAfter migration ConnectionAttemptInjector (#31865) --- .../cpp/end2end/connection_attempt_injector.cc | 18 +++++++++++------- test/cpp/end2end/connection_attempt_injector.h | 5 +---- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/test/cpp/end2end/connection_attempt_injector.cc b/test/cpp/end2end/connection_attempt_injector.cc index 5ab2ce74306..58cf8bde631 100644 --- a/test/cpp/end2end/connection_attempt_injector.cc +++ b/test/cpp/end2end/connection_attempt_injector.cc @@ -20,7 +20,9 @@ #include "absl/utility/utility.h" #include "src/core/lib/address_utils/sockaddr_utils.h" +#include "src/core/lib/event_engine/default_event_engine.h" #include "src/core/lib/gprpp/sync.h" +#include "src/core/lib/iomgr/exec_ctx.h" // defined in tcp_client.cc extern grpc_tcp_client_vtable* grpc_tcp_client_impl; @@ -191,17 +193,19 @@ ConnectionAttemptInjector::InjectedDelay::InjectedDelay( grpc_pollset_set* interested_parties, const EndpointConfig& config, const grpc_resolved_address* addr, grpc_core::Timestamp deadline) : attempt_(closure, ep, interested_parties, config, addr, deadline) { - GRPC_CLOSURE_INIT(&timer_callback_, TimerCallback, this, nullptr); grpc_core::Timestamp now = grpc_core::Timestamp::Now(); duration = std::min(duration, deadline - now); - grpc_timer_init(&timer_, now + duration, &timer_callback_); + grpc_event_engine::experimental::GetDefaultEventEngine()->RunAfter( + duration, [this] { + grpc_core::ApplicationCallbackExecCtx callback_exec_ctx; + grpc_core::ExecCtx exec_ctx; + TimerCallback(); + }); } -void ConnectionAttemptInjector::InjectedDelay::TimerCallback( - void* arg, grpc_error_handle /*error*/) { - auto* self = static_cast(arg); - self->attempt_.Resume(); - delete self; +void ConnectionAttemptInjector::InjectedDelay::TimerCallback() { + attempt_.Resume(); + delete this; } // diff --git a/test/cpp/end2end/connection_attempt_injector.h b/test/cpp/end2end/connection_attempt_injector.h index 2d2289597c6..bc56f85284b 100644 --- a/test/cpp/end2end/connection_attempt_injector.h +++ b/test/cpp/end2end/connection_attempt_injector.h @@ -20,7 +20,6 @@ #include "src/core/lib/event_engine/channel_args_endpoint_config.h" #include "src/core/lib/gprpp/time.h" #include "src/core/lib/iomgr/tcp_client.h" -#include "src/core/lib/iomgr/timer.h" namespace grpc { namespace testing { @@ -155,11 +154,9 @@ class ConnectionAttemptInjector final { grpc_core::Timestamp deadline); private: - static void TimerCallback(void* arg, grpc_error_handle /*error*/); + void TimerCallback(); QueuedAttempt attempt_; - grpc_timer timer_; - grpc_closure timer_callback_; }; // Invoked for every TCP connection attempt.