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

#include <gasnetex_internal.h>

Collaboration diagram for Realm::PendingCompletionManager:

Public Member Functions

 PendingCompletionManager ()
 
 ~PendingCompletionManager ()
 
PendingCompletionget_available ()
 
void recycle_comp (PendingCompletion *comp)
 
PendingCompletionlookup_completion (int index)
 
void invoke_completions (PendingCompletion *comp, bool do_local, bool do_remote)
 
size_t num_completions_pending ()
 
bool over_pending_completion_soft_limit () const
 

Protected Attributes

Realm::Mutex mutex
 
Realm::atomic< PendingCompletion * > first_free
 
Realm::atomic< int > num_groups
 
Realm::atomic< PendingCompletionGroup * > groups [1<< LOG2_MAXGROUPS]
 
atomic< size_t > num_pending
 
size_t pending_soft_limit
 

Static Protected Attributes

static const size_t LOG2_MAXGROUPS = 10
 

Constructor & Destructor Documentation

◆ PendingCompletionManager()

Realm::PendingCompletionManager::PendingCompletionManager ( )

◆ ~PendingCompletionManager()

Realm::PendingCompletionManager::~PendingCompletionManager ( )

Member Function Documentation

◆ get_available()

PendingCompletion * Realm::PendingCompletionManager::get_available ( )

◆ invoke_completions()

void Realm::PendingCompletionManager::invoke_completions ( PendingCompletion comp,
bool  do_local,
bool  do_remote 
)

◆ lookup_completion()

PendingCompletion * Realm::PendingCompletionManager::lookup_completion ( int  index)

◆ num_completions_pending()

size_t Realm::PendingCompletionManager::num_completions_pending ( )

◆ over_pending_completion_soft_limit()

bool Realm::PendingCompletionManager::over_pending_completion_soft_limit ( ) const

◆ recycle_comp()

void Realm::PendingCompletionManager::recycle_comp ( PendingCompletion comp)

Member Data Documentation

◆ first_free

Realm::atomic<PendingCompletion *> Realm::PendingCompletionManager::first_free
protected

◆ groups

Realm::atomic<PendingCompletionGroup *> Realm::PendingCompletionManager::groups[1<< LOG2_MAXGROUPS]
protected

◆ LOG2_MAXGROUPS

const size_t Realm::PendingCompletionManager::LOG2_MAXGROUPS = 10
staticprotected

◆ mutex

Realm::Mutex Realm::PendingCompletionManager::mutex
protected

◆ num_groups

Realm::atomic<int> Realm::PendingCompletionManager::num_groups
protected

◆ num_pending

atomic<size_t> Realm::PendingCompletionManager::num_pending
protected

◆ pending_soft_limit

size_t Realm::PendingCompletionManager::pending_soft_limit
protected

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