
#include <ampiimpl.h>


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. | |
| AmpiMsg * | getOutOfOrder (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< AmpiMsg > | out |
| CkPagedVector< AmpiOtherElement > | elements |
Definition at line 932 of file ampiimpl.h.
| AmpiSeqQ::AmpiSeqQ | ( | ) | [inline] |
Definition at line 939 of file ampiimpl.h.
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 | ) |
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().
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().
Return the next outgoing sequence number, and increment it.
Definition at line 967 of file ampiimpl.h.
References elements.
Referenced by ampi::makeAmpiMsg().
CkMsgQ<AmpiMsg> AmpiSeqQ::out [private] |
Definition at line 933 of file ampiimpl.h.
Referenced by getOutOfOrder(), pup(), and putOutOfOrder().
CkPagedVector<AmpiOtherElement> AmpiSeqQ::elements [private] |
Definition at line 934 of file ampiimpl.h.
Referenced by getOutOfOrder(), init(), nextOutgoing(), pup(), put(), and putOutOfOrder().
1.5.5