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

#include <channel.h>

Collaboration diagram for Realm::XferDesQueue:

Public Types

enum  { NODE_BITS = 16 , INDEX_BITS = 32 }
 

Public Member Functions

 XferDesQueue ()
 
 ~XferDesQueue ()
 
XferDesID get_guid (NodeID execution_node)
 
void update_pre_bytes_write (XferDesID xd_guid, int port_idx, size_t span_start, size_t span_size)
 
void update_pre_bytes_total (XferDesID xd_guid, int port_idx, size_t pre_bytes_total)
 
void update_next_bytes_read (XferDesID xd_guid, int port_idx, size_t span_start, size_t span_size)
 
void destroy_xferDes (XferDesID guid)
 
bool enqueue_xferDes_local (XferDes *xd, bool add_to_queue=true)
 

Static Public Member Functions

static XferDesQueueget_singleton ()
 

Protected Attributes

Mutex guid_lock
 
std::map< XferDesID, uintptr_t > guid_to_xd
 
Mutex queues_lock
 
atomic< XferDesIDnext_to_assign_idx
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
NODE_BITS 
INDEX_BITS 

Constructor & Destructor Documentation

◆ XferDesQueue()

Realm::XferDesQueue::XferDesQueue ( )
inline

◆ ~XferDesQueue()

Realm::XferDesQueue::~XferDesQueue ( )
inline

Member Function Documentation

◆ destroy_xferDes()

void Realm::XferDesQueue::destroy_xferDes ( XferDesID  guid)

◆ enqueue_xferDes_local()

bool Realm::XferDesQueue::enqueue_xferDes_local ( XferDes xd,
bool  add_to_queue = true 
)

◆ get_guid()

XferDesID Realm::XferDesQueue::get_guid ( NodeID  execution_node)
inline

◆ get_singleton()

static XferDesQueue * Realm::XferDesQueue::get_singleton ( )
static

◆ update_next_bytes_read()

void Realm::XferDesQueue::update_next_bytes_read ( XferDesID  xd_guid,
int  port_idx,
size_t  span_start,
size_t  span_size 
)

◆ update_pre_bytes_total()

void Realm::XferDesQueue::update_pre_bytes_total ( XferDesID  xd_guid,
int  port_idx,
size_t  pre_bytes_total 
)

◆ update_pre_bytes_write()

void Realm::XferDesQueue::update_pre_bytes_write ( XferDesID  xd_guid,
int  port_idx,
size_t  span_start,
size_t  span_size 
)

Member Data Documentation

◆ guid_lock

Mutex Realm::XferDesQueue::guid_lock
protected

◆ guid_to_xd

std::map<XferDesID, uintptr_t> Realm::XferDesQueue::guid_to_xd
protected

◆ next_to_assign_idx

atomic<XferDesID> Realm::XferDesQueue::next_to_assign_idx
protected

◆ queues_lock

Mutex Realm::XferDesQueue::queues_lock
protected

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