Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
grpc_event_engine::iomgr_engine::TimerList Class Reference

#include <timer.h>

Classes

struct  Shard
 

Public Member Functions

TimerListoperator= (const TimerList &)=delete
 
bool TimerCancel (Timer *timer) GRPC_MUST_USE_RESULT
 
absl::optional< std::vector< experimental::EventEngine::Closure * > > TimerCheck (grpc_core::Timestamp *next)
 
void TimerInit (Timer *timer, grpc_core::Timestamp deadline, experimental::EventEngine::Closure *closure)
 
 TimerList (const TimerList &)=delete
 
 TimerList (TimerListHost *host)
 

Private Member Functions

const std::unique_ptr< Shard *[]> shard_queue_ ABSL_GUARDED_BY (mu_)
 
std::vector< experimental::EventEngine::Closure * > FindExpiredTimers (grpc_core::Timestamp now, grpc_core::Timestamp *next)
 
void NoteDeadlineChange (Shard *shard) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
 
void SwapAdjacentShardsInQueue (uint32_t first_shard_queue_index) ABSL_EXCLUSIVE_LOCKS_REQUIRED(mu_)
 

Private Attributes

grpc_core::Mutex checker_mu_
 
TimerListHost *const host_
 
std::atomic< uint64_tmin_timer_
 
grpc_core::Mutex mu_
 
const size_t num_shards_
 
const std::unique_ptr< Shard[]> shards_
 

Detailed Description

Definition at line 73 of file event_engine/iomgr_engine/timer.h.

Constructor & Destructor Documentation

◆ TimerList() [1/2]

grpc_event_engine::iomgr_engine::TimerList::TimerList ( TimerListHost host)
explicit

Definition at line 52 of file event_engine/iomgr_engine/timer.cc.

◆ TimerList() [2/2]

grpc_event_engine::iomgr_engine::TimerList::TimerList ( const TimerList )
delete

Member Function Documentation

◆ ABSL_GUARDED_BY()

const std::unique_ptr<Shard*[]> shard_queue_ grpc_event_engine::iomgr_engine::TimerList::ABSL_GUARDED_BY ( mu_  )
private

◆ FindExpiredTimers()

std::vector< experimental::EventEngine::Closure * > grpc_event_engine::iomgr_engine::TimerList::FindExpiredTimers ( grpc_core::Timestamp  now,
grpc_core::Timestamp next 
)
private

Definition at line 241 of file event_engine/iomgr_engine/timer.cc.

◆ NoteDeadlineChange()

void grpc_event_engine::iomgr_engine::TimerList::NoteDeadlineChange ( Shard shard)
private

Definition at line 96 of file event_engine/iomgr_engine/timer.cc.

◆ operator=()

TimerList& grpc_event_engine::iomgr_engine::TimerList::operator= ( const TimerList )
delete

◆ SwapAdjacentShardsInQueue()

void grpc_event_engine::iomgr_engine::TimerList::SwapAdjacentShardsInQueue ( uint32_t  first_shard_queue_index)
private

Definition at line 84 of file event_engine/iomgr_engine/timer.cc.

◆ TimerCancel()

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

Definition at line 164 of file event_engine/iomgr_engine/timer.cc.

◆ TimerCheck()

absl::optional< std::vector< experimental::EventEngine::Closure * > > grpc_event_engine::iomgr_engine::TimerList::TimerCheck ( grpc_core::Timestamp next)

Definition at line 286 of file event_engine/iomgr_engine/timer.cc.

◆ TimerInit()

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

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

Member Data Documentation

◆ checker_mu_

grpc_core::Mutex grpc_event_engine::iomgr_engine::TimerList::checker_mu_
private

Definition at line 181 of file event_engine/iomgr_engine/timer.h.

◆ host_

TimerListHost* const grpc_event_engine::iomgr_engine::TimerList::host_
private

Definition at line 174 of file event_engine/iomgr_engine/timer.h.

◆ min_timer_

std::atomic<uint64_t> grpc_event_engine::iomgr_engine::TimerList::min_timer_
private

Definition at line 178 of file event_engine/iomgr_engine/timer.h.

◆ mu_

grpc_core::Mutex grpc_event_engine::iomgr_engine::TimerList::mu_
private

Definition at line 176 of file event_engine/iomgr_engine/timer.h.

◆ num_shards_

const size_t grpc_event_engine::iomgr_engine::TimerList::num_shards_
private

Definition at line 175 of file event_engine/iomgr_engine/timer.h.

◆ shards_

const std::unique_ptr<Shard[]> grpc_event_engine::iomgr_engine::TimerList::shards_
private

Definition at line 184 of file event_engine/iomgr_engine/timer.h.


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


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