Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
grpc_event_engine::iomgr_engine::TimerManager Class Referencefinalabstract

#include <timer_manager.h>

Inheritance diagram for grpc_event_engine::iomgr_engine::TimerManager:
Inheritance graph
[legend]

Classes

class  Host
 
struct  RunThreadArgs
 

Public Member Functions

grpc_core::Timestamp Now ()
 
void PostforkChild () override
 
void PostforkParent () override
 
void PrepareFork () override
 
bool TimerCancel (Timer *timer)
 
void TimerInit (Timer *timer, grpc_core::Timestamp deadline, experimental::EventEngine::Closure *closure)
 
 TimerManager ()
 
 ~TimerManager () override
 
- Public Member Functions inherited from grpc_event_engine::experimental::Forkable
 Forkable ()
 
virtual ~Forkable ()
 

Private Member Functions

std::vector< grpc_core::Thread > completed_threads_ ABSL_GUARDED_BY (mu_)
 
bool has_timed_waiter_ ABSL_GUARDED_BY (mu_)
 
bool shutdown_ ABSL_GUARDED_BY (mu_)
 
bool forking_ ABSL_GUARDED_BY (mu_)
 
bool kicked_ ABSL_GUARDED_BY (mu_)
 
grpc_core::Timestamp timed_waiter_deadline_ ABSL_GUARDED_BY (mu_)
 
size_t thread_count_ ABSL_GUARDED_BY (mu_)=0
 
size_t waiter_count_ ABSL_GUARDED_BY (mu_)=0
 
uint64_t timed_waiter_generation_ ABSL_GUARDED_BY (mu_)=0
 
uint64_t wakeups_ ABSL_GUARDED_BY (mu_)=0
 
void Kick ()
 
void MainLoop ()
 
void RunSomeTimers (std::vector< experimental::EventEngine::Closure * > timers)
 
void StartThread () ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
 
bool WaitUntil (grpc_core::Timestamp next)
 

Static Private Member Functions

static void RunThread (void *arg)
 

Private Attributes

grpc_core::CondVar cv_
 
Host host_
 
grpc_core::Mutex mu_
 
int prefork_thread_count_ = 0
 
std::unique_ptr< TimerListtimer_list_
 

Detailed Description

Definition at line 47 of file event_engine/iomgr_engine/timer_manager.h.

Constructor & Destructor Documentation

◆ TimerManager()

grpc_event_engine::iomgr_engine::TimerManager::TimerManager ( )

Definition at line 209 of file event_engine/iomgr_engine/timer_manager.cc.

◆ ~TimerManager()

grpc_event_engine::iomgr_engine::TimerManager::~TimerManager ( )
override

Definition at line 229 of file event_engine/iomgr_engine/timer_manager.cc.

Member Function Documentation

◆ ABSL_GUARDED_BY() [1/10]

std::vector<grpc_core::Thread> completed_threads_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [2/10]

bool has_timed_waiter_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [3/10]

bool shutdown_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [4/10]

bool forking_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [5/10]

bool kicked_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [6/10]

grpc_core::Timestamp timed_waiter_deadline_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
private

◆ ABSL_GUARDED_BY() [7/10]

size_t thread_count_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
privatepure virtual

◆ ABSL_GUARDED_BY() [8/10]

size_t waiter_count_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
privatepure virtual

◆ ABSL_GUARDED_BY() [9/10]

uint64_t timed_waiter_generation_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
privatepure virtual

◆ ABSL_GUARDED_BY() [10/10]

uint64_t wakeups_ grpc_event_engine::iomgr_engine::TimerManager::ABSL_GUARDED_BY ( mu_  )
privatepure virtual

◆ Kick()

void grpc_event_engine::iomgr_engine::TimerManager::Kick ( )
private

Definition at line 246 of file event_engine/iomgr_engine/timer_manager.cc.

◆ MainLoop()

void grpc_event_engine::iomgr_engine::TimerManager::MainLoop ( )
private

Definition at line 172 of file event_engine/iomgr_engine/timer_manager.cc.

◆ Now()

grpc_core::Timestamp grpc_event_engine::iomgr_engine::TimerManager::Now ( )
inline

Definition at line 52 of file event_engine/iomgr_engine/timer_manager.h.

◆ PostforkChild()

void grpc_event_engine::iomgr_engine::TimerManager::PostforkChild ( )
overridevirtual

◆ PostforkParent()

void grpc_event_engine::iomgr_engine::TimerManager::PostforkParent ( )
overridevirtual

◆ PrepareFork()

void grpc_event_engine::iomgr_engine::TimerManager::PrepareFork ( )
overridevirtual

◆ RunSomeTimers()

void grpc_event_engine::iomgr_engine::TimerManager::RunSomeTimers ( std::vector< experimental::EventEngine::Closure * >  timers)
private

Definition at line 71 of file event_engine/iomgr_engine/timer_manager.cc.

◆ RunThread()

void grpc_event_engine::iomgr_engine::TimerManager::RunThread ( void *  arg)
staticprivate

Definition at line 198 of file event_engine/iomgr_engine/timer_manager.cc.

◆ StartThread()

void grpc_event_engine::iomgr_engine::TimerManager::StartThread ( )
private

Definition at line 60 of file event_engine/iomgr_engine/timer_manager.cc.

◆ TimerCancel()

bool grpc_event_engine::iomgr_engine::TimerManager::TimerCancel ( Timer timer)

Definition at line 225 of file event_engine/iomgr_engine/timer_manager.cc.

◆ TimerInit()

void grpc_event_engine::iomgr_engine::TimerManager::TimerInit ( Timer timer,
grpc_core::Timestamp  deadline,
experimental::EventEngine::Closure closure 
)

Definition at line 220 of file event_engine/iomgr_engine/timer_manager.cc.

◆ WaitUntil()

bool grpc_event_engine::iomgr_engine::TimerManager::WaitUntil ( grpc_core::Timestamp  next)
private

Definition at line 109 of file event_engine/iomgr_engine/timer_manager.cc.

Member Data Documentation

◆ cv_

grpc_core::CondVar grpc_event_engine::iomgr_engine::TimerManager::cv_
private

Definition at line 89 of file event_engine/iomgr_engine/timer_manager.h.

◆ host_

Host grpc_event_engine::iomgr_engine::TimerManager::host_
private

Definition at line 90 of file event_engine/iomgr_engine/timer_manager.h.

◆ mu_

grpc_core::Mutex grpc_event_engine::iomgr_engine::TimerManager::mu_
private

Definition at line 88 of file event_engine/iomgr_engine/timer_manager.h.

◆ prefork_thread_count_

int grpc_event_engine::iomgr_engine::TimerManager::prefork_thread_count_ = 0
private

Definition at line 114 of file event_engine/iomgr_engine/timer_manager.h.

◆ timer_list_

std::unique_ptr<TimerList> grpc_event_engine::iomgr_engine::TimerManager::timer_list_
private

Definition at line 113 of file event_engine/iomgr_engine/timer_manager.h.


The documentation for this class was generated from the following files:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:40