PPL Logo

AmpiSeqQ Class Reference

#include <ampiimpl.h>

Inheritance diagram for AmpiSeqQ:

Inheritance graph
[legend]
Collaboration diagram for AmpiSeqQ:

Collaboration graph
[legend]

Public Member Functions

 AmpiSeqQ ()
void init (int numP)
 ~AmpiSeqQ ()
void pup (PUP::er &p)
int put (int srcIdx, AmpiMsg *msg)
 Insert this message in the table.
AmpiMsggetOutOfOrder (int p)
 Get an out-of-order message from the table.
int nextOutgoing (int p)
 Return the next outgoing sequence number, and increment it.

Private Member Functions

void putOutOfOrder (int srcIdx, AmpiMsg *msg)

Private Attributes

CkMsgQ< AmpiMsgout
CkPagedVector< AmpiOtherElementelements

Detailed Description

Definition at line 932 of file ampiimpl.h.


Constructor & Destructor Documentation

AmpiSeqQ::AmpiSeqQ (  )  [inline]

Definition at line 939 of file ampiimpl.h.

AmpiSeqQ::~AmpiSeqQ (  ) 

Definition at line 2255 of file ampi.C.


Member Function Documentation

void AmpiSeqQ::putOutOfOrder ( int  srcIdx,
AmpiMsg msg 
) [private]

Definition at line 2263 of file ampi.C.

References elements, CkQ< T >::enq(), AmpiOtherElement::nOut, out, AmpiMsg::seq, and AmpiOtherElement::seqIncoming.

Referenced by put().

void AmpiSeqQ::init ( int  numP  ) 

Definition at line 2250 of file ampi.C.

References elements, and CkPagedVector< T >::init().

Referenced by ampi::ampi().

void AmpiSeqQ::pup ( PUP::er p  ) 

Definition at line 2258 of file ampi.C.

References elements, and out.

int AmpiSeqQ::put ( int  srcIdx,
AmpiMsg msg 
) [inline]

Insert this message in the table.

Returns the number of messages now available for the element. If 0, the message was out-of-order and is buffered. If 1, this message can be immediately processed. If >1, this message can be immediately processed, and you should call "getOutOfOrder" repeatedly.

Definition at line 950 of file ampiimpl.h.

References elements, AmpiOtherElement::nOut, putOutOfOrder(), AmpiMsg::seq, and AmpiOtherElement::seqIncoming.

Referenced by ampi::generic().

AmpiMsg * AmpiSeqQ::getOutOfOrder ( int  p  ) 

Get an out-of-order message from the table.

(in-order messages never go into the table)

Definition at line 2274 of file ampi.C.

References CkQ< T >::deq(), elements, CkQ< T >::enq(), CkQ< T >::length(), msg, AmpiOtherElement::nOut, out, AmpiMsg::seq, AmpiOtherElement::seqIncoming, and AmpiMsg::srcIdx.

Referenced by ampi::generic().

int AmpiSeqQ::nextOutgoing ( int  p  )  [inline]

Return the next outgoing sequence number, and increment it.

Definition at line 967 of file ampiimpl.h.

References elements.

Referenced by ampi::makeAmpiMsg().


Field Documentation

Definition at line 933 of file ampiimpl.h.

Referenced by getOutOfOrder(), pup(), and putOutOfOrder().

Definition at line 934 of file ampiimpl.h.

Referenced by getOutOfOrder(), init(), nextOutgoing(), pup(), put(), and putOutOfOrder().


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

Generated on Thu May 24 07:56:27 2012 for Charm++ by  doxygen 1.5.5