Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::ThreadedTaskScheduler::WorkCounter Class Reference

#include <tasks.h>

Collaboration diagram for Realm::ThreadedTaskScheduler::WorkCounter:

Public Member Functions

 WorkCounter (void)
 
 ~WorkCounter (void)
 
void set_interrupt_flag (atomic< bool > *_interrupt_flag)
 
void increment_counter (void)
 
uint64_t read_counter (void) const
 
bool check_for_work (uint64_t old_counter)
 
void wait_for_work (uint64_t old_counter)
 

Protected Attributes

atomic< uint64_t > counter
 
atomic< bool > * interrupt_flag
 
DelegatingMutex db_mutex
 
DoorbellList db_list
 

Static Protected Attributes

static const unsigned SLEEPER_BITS = 8
 

Constructor & Destructor Documentation

◆ WorkCounter()

Realm::ThreadedTaskScheduler::WorkCounter::WorkCounter ( void  )

◆ ~WorkCounter()

Realm::ThreadedTaskScheduler::WorkCounter::~WorkCounter ( void  )

Member Function Documentation

◆ check_for_work()

bool Realm::ThreadedTaskScheduler::WorkCounter::check_for_work ( uint64_t  old_counter)
inline

◆ increment_counter()

void Realm::ThreadedTaskScheduler::WorkCounter::increment_counter ( void  )

◆ read_counter()

uint64_t Realm::ThreadedTaskScheduler::WorkCounter::read_counter ( void  ) const
inline

◆ set_interrupt_flag()

void Realm::ThreadedTaskScheduler::WorkCounter::set_interrupt_flag ( atomic< bool > *  _interrupt_flag)

◆ wait_for_work()

void Realm::ThreadedTaskScheduler::WorkCounter::wait_for_work ( uint64_t  old_counter)

Member Data Documentation

◆ counter

atomic<uint64_t> Realm::ThreadedTaskScheduler::WorkCounter::counter
protected

◆ db_list

DoorbellList Realm::ThreadedTaskScheduler::WorkCounter::db_list
protected

◆ db_mutex

DelegatingMutex Realm::ThreadedTaskScheduler::WorkCounter::db_mutex
protected

◆ interrupt_flag

atomic<bool>* Realm::ThreadedTaskScheduler::WorkCounter::interrupt_flag
protected

◆ SLEEPER_BITS

const unsigned Realm::ThreadedTaskScheduler::WorkCounter::SLEEPER_BITS = 8
staticprotected

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