#include <grpc/support/port_platform.h>
#include "src/core/lib/event_engine/posix_engine/timer_manager.h"
#include <memory>
#include <utility>
#include "absl/time/time.h"
#include "absl/types/optional.h"
#include <grpc/support/log.h>
#include <grpc/support/time.h>
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/thd.h"
static thread_local bool g_timer_thread;
namespace grpc_event_engine {
namespace experimental {
grpc_core::DebugOnlyTraceFlag grpc_event_engine_timer_trace(false, "timer");
void TimerManager::RunSomeTimers(
std::vector<experimental::EventEngine::Closure*> timers) { … }
bool TimerManager::WaitUntil(grpc_core::Timestamp next) { … }
void TimerManager::MainLoop() { … }
bool TimerManager::IsTimerManagerThread() { … }
void TimerManager::StartMainLoopThread() { … }
TimerManager::TimerManager(
std::shared_ptr<grpc_event_engine::experimental::ThreadPool> thread_pool)
: … { … }
grpc_core::Timestamp TimerManager::Host::Now() { … }
void TimerManager::TimerInit(Timer* timer, grpc_core::Timestamp deadline,
experimental::EventEngine::Closure* closure) { … }
bool TimerManager::TimerCancel(Timer* timer) { … }
void TimerManager::Shutdown() { … }
TimerManager::~TimerManager() { … }
void TimerManager::Host::Kick() { … }
void TimerManager::Kick() { … }
void TimerManager::RestartPostFork() { … }
void TimerManager::PrepareFork() { … }
void TimerManager::PostforkParent() { … }
void TimerManager::PostforkChild() { … }
}
}