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

#include <gasnetex_internal.h>

Collaboration diagram for Realm::OutbufMetadata:

Public Types

enum  State { STATE_IDLE , STATE_DATABUF , STATE_PKTBUF }
 
enum  PktType {
  PKTTYPE_INVALID , PKTTYPE_INLINE , PKTTYPE_INLINE_SHORT , PKTTYPE_LONG ,
  PKTTYPE_RGET , PKTTYPE_PUT , PKTTYPE_CANCELLED , PKTTYPE_COPY_IN_PROGRESS
}
 

Public Member Functions

 OutbufMetadata ()
 
void dec_usecount ()
 
void databuf_close ()
 
bool pktbuf_reserve (size_t bytes, int &pktidx, uintptr_t &offset)
 
void pktbuf_close ()
 
uintptr_t pktbuf_get_offset (int pktidx)
 
bool pktbuf_commit (int pktidx, PktType pkttype, bool update_realbuf)
 

Static Public Attributes

static const int MAX_PACKETS = 256
 

Protected Member Functions

void set_state (State new_state)
 

Protected Attributes

State state
 
OutbufManagermanager
 
OutbufMetadatanextbuf
 
uintptr_t baseptr
 
size_t size
 
bool is_overflow
 
OutbufMetadatanext_overflow
 
atomic< OutbufMetadata * > realbuf
 
atomic< int > remain_count
 
size_t databuf_rsrv_offset
 
int databuf_use_count
 
atomic< int > pktbuf_total_packets
 
size_t pktbuf_rsrv_offset
 
size_t pktbuf_pkt_ends [MAX_PACKETS]
 
atomic< PktTypepktbuf_pkt_types [MAX_PACKETS]
 
atomic< int > pktbuf_ready_packets
 
int pktbuf_sent_packets
 
size_t pktbuf_sent_offset
 
int pktbuf_use_count
 

Friends

class OutbufManager
 
class XmitSrcDestPair
 

Member Enumeration Documentation

◆ PktType

Enumerator
PKTTYPE_INVALID 
PKTTYPE_INLINE 
PKTTYPE_INLINE_SHORT 
PKTTYPE_LONG 
PKTTYPE_RGET 
PKTTYPE_PUT 
PKTTYPE_CANCELLED 
PKTTYPE_COPY_IN_PROGRESS 

◆ State

Enumerator
STATE_IDLE 
STATE_DATABUF 
STATE_PKTBUF 

Constructor & Destructor Documentation

◆ OutbufMetadata()

Realm::OutbufMetadata::OutbufMetadata ( )

Member Function Documentation

◆ databuf_close()

void Realm::OutbufMetadata::databuf_close ( )

◆ dec_usecount()

void Realm::OutbufMetadata::dec_usecount ( )

◆ pktbuf_close()

void Realm::OutbufMetadata::pktbuf_close ( )

◆ pktbuf_commit()

bool Realm::OutbufMetadata::pktbuf_commit ( int  pktidx,
PktType  pkttype,
bool  update_realbuf 
)

◆ pktbuf_get_offset()

uintptr_t Realm::OutbufMetadata::pktbuf_get_offset ( int  pktidx)

◆ pktbuf_reserve()

bool Realm::OutbufMetadata::pktbuf_reserve ( size_t  bytes,
int &  pktidx,
uintptr_t &  offset 
)

◆ set_state()

void Realm::OutbufMetadata::set_state ( State  new_state)
protected

Friends And Related Symbol Documentation

◆ OutbufManager

friend class OutbufManager
friend

◆ XmitSrcDestPair

friend class XmitSrcDestPair
friend

Member Data Documentation

◆ baseptr

uintptr_t Realm::OutbufMetadata::baseptr
protected

◆ databuf_rsrv_offset

size_t Realm::OutbufMetadata::databuf_rsrv_offset
protected

◆ databuf_use_count

int Realm::OutbufMetadata::databuf_use_count
protected

◆ is_overflow

bool Realm::OutbufMetadata::is_overflow
protected

◆ manager

OutbufManager* Realm::OutbufMetadata::manager
protected

◆ MAX_PACKETS

const int Realm::OutbufMetadata::MAX_PACKETS = 256
static

◆ next_overflow

OutbufMetadata* Realm::OutbufMetadata::next_overflow
protected

◆ nextbuf

OutbufMetadata* Realm::OutbufMetadata::nextbuf
protected

◆ pktbuf_pkt_ends

size_t Realm::OutbufMetadata::pktbuf_pkt_ends[MAX_PACKETS]
protected

◆ pktbuf_pkt_types

atomic<PktType> Realm::OutbufMetadata::pktbuf_pkt_types[MAX_PACKETS]
protected

◆ pktbuf_ready_packets

atomic<int> Realm::OutbufMetadata::pktbuf_ready_packets
protected

◆ pktbuf_rsrv_offset

size_t Realm::OutbufMetadata::pktbuf_rsrv_offset
protected

◆ pktbuf_sent_offset

size_t Realm::OutbufMetadata::pktbuf_sent_offset
protected

◆ pktbuf_sent_packets

int Realm::OutbufMetadata::pktbuf_sent_packets
protected

◆ pktbuf_total_packets

atomic<int> Realm::OutbufMetadata::pktbuf_total_packets
protected

◆ pktbuf_use_count

int Realm::OutbufMetadata::pktbuf_use_count
protected

◆ realbuf

atomic<OutbufMetadata *> Realm::OutbufMetadata::realbuf
protected

◆ remain_count

atomic<int> Realm::OutbufMetadata::remain_count
protected

◆ size

size_t Realm::OutbufMetadata::size
protected

◆ state

State Realm::OutbufMetadata::state
protected

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