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

#include <gasnetex_internal.h>

Collaboration diagram for Realm::XmitSrcDestPair:

Classes

struct  LongRgetData
 
struct  PutMetadata
 

Public Types

typedef IntrusiveList< XmitSrcDestPair, REALM_PMTA_USE(XmitSrcDestPair, xpair_list_link), DummyLockXmitPairList
 

Public Member Functions

 XmitSrcDestPair (GASNetEXInternal *_internal, gex_ep_index_t _src_ep_index, gex_rank_t _tgt_rank, gex_ep_index_t _tgt_ep_index)
 
 ~XmitSrcDestPair ()
 
bool has_packets_queued () const
 
void record_immediate_packet ()
 
bool reserve_pbuf_inline (size_t hdr_bytes, size_t payload_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, void *&hdr_base, void *&payload_base)
 
bool reserve_pbuf_long_rget (size_t hdr_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, void *&hdr_base)
 
bool reserve_pbuf_put (bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx)
 
void commit_pbuf_inline (OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, size_t act_payload_bytes)
 
void commit_pbuf_long (OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr, OutbufMetadata *databuf)
 
void commit_pbuf_rget (OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, gex_am_arg_t arg0, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr, gex_ep_index_t src_ep_index, gex_ep_index_t tgt_ep_index)
 
void commit_pbuf_put (OutbufMetadata *pktbuf, int pktidx, PendingPutHeader *put, const void *payload_base, size_t payload_bytes, uintptr_t dest_addr)
 
void cancel_pbuf (OutbufMetadata *pktbuf, int pktidx)
 
void enqueue_completion_reply (gex_am_arg_t comp_info)
 
void enqueue_put_header (PendingPutHeader *put)
 
void request_push (bool force_critical)
 
void push_packets (bool immediate_mode, TimeLimit work_until)
 
long long time_since_failure () const
 
bool try_consume_am_credit ()
 
void return_am_credits (int count)
 
 REALM_PMTA_DEFN (XmitSrcDestPair, IntrusiveListLink< XmitSrcDestPair >, xpair_list_link)
 

Public Attributes

IntrusiveListLink< XmitSrcDestPairxpair_list_link
 

Protected Member Functions

bool reserve_pbuf_helper (size_t total_bytes, bool overflow_ok, OutbufMetadata *&pktbuf, int &pktidx, uintptr_t &baseptr)
 
bool commit_pbuf_helper (OutbufMetadata *pktbuf, int pktidx, const void *hdr_base, uintptr_t &baseptr)
 

Protected Attributes

GASNetEXInternalinternal
 
gex_ep_index_t src_ep_index
 
gex_rank_t tgt_rank
 
gex_ep_index_t tgt_ep_index
 
atomic< size_t > packets_reserved
 
atomic< size_t > packets_sent
 
Mutex mutex
 
MutexChecker push_mutex_check
 
atomic< OutbufMetadata * > first_pbuf
 
OutbufMetadatacur_pbuf
 
atomic< unsigned > imm_fail_count
 
bool has_ready_packets
 
long long first_fail_time
 
atomic< PendingPutHeader * > put_head
 
atomic< PendingPutHeader * > * put_tailp
 
gex_am_arg_tcomp_reply_data
 
unsigned comp_reply_wrptr
 
unsigned comp_reply_rdptr
 
atomic< unsigned > comp_reply_count
 
unsigned comp_reply_capacity
 
atomic< int > am_credits
 

Friends

class GASNetEXInternal
 

Member Typedef Documentation

◆ XmitPairList

Constructor & Destructor Documentation

◆ XmitSrcDestPair()

Realm::XmitSrcDestPair::XmitSrcDestPair ( GASNetEXInternal _internal,
gex_ep_index_t  _src_ep_index,
gex_rank_t  _tgt_rank,
gex_ep_index_t  _tgt_ep_index 
)

◆ ~XmitSrcDestPair()

Realm::XmitSrcDestPair::~XmitSrcDestPair ( )

Member Function Documentation

◆ cancel_pbuf()

void Realm::XmitSrcDestPair::cancel_pbuf ( OutbufMetadata pktbuf,
int  pktidx 
)

◆ commit_pbuf_helper()

bool Realm::XmitSrcDestPair::commit_pbuf_helper ( OutbufMetadata pktbuf,
int  pktidx,
const void *  hdr_base,
uintptr_t &  baseptr 
)
protected

◆ commit_pbuf_inline()

void Realm::XmitSrcDestPair::commit_pbuf_inline ( OutbufMetadata pktbuf,
int  pktidx,
const void *  hdr_base,
gex_am_arg_t  arg0,
size_t  act_payload_bytes 
)

◆ commit_pbuf_long()

void Realm::XmitSrcDestPair::commit_pbuf_long ( OutbufMetadata pktbuf,
int  pktidx,
const void *  hdr_base,
gex_am_arg_t  arg0,
const void *  payload_base,
size_t  payload_bytes,
uintptr_t  dest_addr,
OutbufMetadata databuf 
)

◆ commit_pbuf_put()

void Realm::XmitSrcDestPair::commit_pbuf_put ( OutbufMetadata pktbuf,
int  pktidx,
PendingPutHeader put,
const void *  payload_base,
size_t  payload_bytes,
uintptr_t  dest_addr 
)

◆ commit_pbuf_rget()

void Realm::XmitSrcDestPair::commit_pbuf_rget ( OutbufMetadata pktbuf,
int  pktidx,
const void *  hdr_base,
gex_am_arg_t  arg0,
const void *  payload_base,
size_t  payload_bytes,
uintptr_t  dest_addr,
gex_ep_index_t  src_ep_index,
gex_ep_index_t  tgt_ep_index 
)

◆ enqueue_completion_reply()

void Realm::XmitSrcDestPair::enqueue_completion_reply ( gex_am_arg_t  comp_info)

◆ enqueue_put_header()

void Realm::XmitSrcDestPair::enqueue_put_header ( PendingPutHeader put)

◆ has_packets_queued()

bool Realm::XmitSrcDestPair::has_packets_queued ( ) const

◆ push_packets()

void Realm::XmitSrcDestPair::push_packets ( bool  immediate_mode,
TimeLimit  work_until 
)

◆ REALM_PMTA_DEFN()

Realm::XmitSrcDestPair::REALM_PMTA_DEFN ( XmitSrcDestPair  ,
IntrusiveListLink< XmitSrcDestPair ,
xpair_list_link   
)

◆ record_immediate_packet()

void Realm::XmitSrcDestPair::record_immediate_packet ( )

◆ request_push()

void Realm::XmitSrcDestPair::request_push ( bool  force_critical)

◆ reserve_pbuf_helper()

bool Realm::XmitSrcDestPair::reserve_pbuf_helper ( size_t  total_bytes,
bool  overflow_ok,
OutbufMetadata *&  pktbuf,
int &  pktidx,
uintptr_t &  baseptr 
)
protected

◆ reserve_pbuf_inline()

bool Realm::XmitSrcDestPair::reserve_pbuf_inline ( size_t  hdr_bytes,
size_t  payload_bytes,
bool  overflow_ok,
OutbufMetadata *&  pktbuf,
int &  pktidx,
void *&  hdr_base,
void *&  payload_base 
)

◆ reserve_pbuf_long_rget()

bool Realm::XmitSrcDestPair::reserve_pbuf_long_rget ( size_t  hdr_bytes,
bool  overflow_ok,
OutbufMetadata *&  pktbuf,
int &  pktidx,
void *&  hdr_base 
)

◆ reserve_pbuf_put()

bool Realm::XmitSrcDestPair::reserve_pbuf_put ( bool  overflow_ok,
OutbufMetadata *&  pktbuf,
int &  pktidx 
)

◆ return_am_credits()

void Realm::XmitSrcDestPair::return_am_credits ( int  count)

◆ time_since_failure()

long long Realm::XmitSrcDestPair::time_since_failure ( ) const

◆ try_consume_am_credit()

bool Realm::XmitSrcDestPair::try_consume_am_credit ( )

Friends And Related Symbol Documentation

◆ GASNetEXInternal

friend class GASNetEXInternal
friend

Member Data Documentation

◆ am_credits

atomic<int> Realm::XmitSrcDestPair::am_credits
protected

◆ comp_reply_capacity

unsigned Realm::XmitSrcDestPair::comp_reply_capacity
protected

◆ comp_reply_count

atomic<unsigned> Realm::XmitSrcDestPair::comp_reply_count
protected

◆ comp_reply_data

gex_am_arg_t* Realm::XmitSrcDestPair::comp_reply_data
protected

◆ comp_reply_rdptr

unsigned Realm::XmitSrcDestPair::comp_reply_rdptr
protected

◆ comp_reply_wrptr

unsigned Realm::XmitSrcDestPair::comp_reply_wrptr
protected

◆ cur_pbuf

OutbufMetadata* Realm::XmitSrcDestPair::cur_pbuf
protected

◆ first_fail_time

long long Realm::XmitSrcDestPair::first_fail_time
protected

◆ first_pbuf

atomic<OutbufMetadata *> Realm::XmitSrcDestPair::first_pbuf
protected

◆ has_ready_packets

bool Realm::XmitSrcDestPair::has_ready_packets
protected

◆ imm_fail_count

atomic<unsigned> Realm::XmitSrcDestPair::imm_fail_count
protected

◆ internal

GASNetEXInternal* Realm::XmitSrcDestPair::internal
protected

◆ mutex

Mutex Realm::XmitSrcDestPair::mutex
protected

◆ packets_reserved

atomic<size_t> Realm::XmitSrcDestPair::packets_reserved
protected

◆ packets_sent

atomic<size_t> Realm::XmitSrcDestPair::packets_sent
protected

◆ push_mutex_check

MutexChecker Realm::XmitSrcDestPair::push_mutex_check
protected

◆ put_head

atomic<PendingPutHeader *> Realm::XmitSrcDestPair::put_head
protected

◆ put_tailp

atomic<PendingPutHeader *>* Realm::XmitSrcDestPair::put_tailp
protected

◆ src_ep_index

gex_ep_index_t Realm::XmitSrcDestPair::src_ep_index
protected

◆ tgt_ep_index

gex_ep_index_t Realm::XmitSrcDestPair::tgt_ep_index
protected

◆ tgt_rank

gex_rank_t Realm::XmitSrcDestPair::tgt_rank
protected

◆ xpair_list_link

IntrusiveListLink<XmitSrcDestPair> Realm::XmitSrcDestPair::xpair_list_link

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