Public Member Functions | |
CkArrayBroadcaster (bool _stableLocations, bool _broadcastViaScheduler) | |
CkArrayBroadcaster (CkMigrateMessage *m) | |
virtual void | pup (PUP::er &p) |
virtual | ~CkArrayBroadcaster () |
PUPable_decl (CkArrayBroadcaster) | |
virtual void | ckElementStamp (int *eltInfo) |
Element creation message is about to be sent. | |
virtual bool | ckElementCreated (ArrayElement *elt) |
Element was just created on this processor Return false if the element migrated away or deleted itself. | |
virtual bool | ckElementArriving (ArrayElement *elt) |
Element just arrived on this processor (so just called pup) Return false if the element migrated away or deleted itself. | |
void | incoming (CkArrayMessage *msg) |
bool | deliver (CkArrayMessage *bcast, ArrayElement *el, bool doFree) |
Deliver a copy of the given broadcast to the given local element. | |
void | springCleaning (void) |
void | flushState () |
used by checkpointing to reset the states | |
Private Member Functions | |
int & | getData (ArrayElement *el) |
bool | bringUpToDate (ArrayElement *el) |
Deliver all needed broadcasts to the given local element. | |
Private Attributes | |
int | bcastNo |
int | oldBcastNo |
CkQ< CkArrayMessage * > | oldBcasts |
bool | stableLocations |
bool | broadcastViaScheduler |
Definition at line 91 of file ckarray.C.
CkArrayBroadcaster::CkArrayBroadcaster | ( | CkMigrateMessage * | m | ) |
CkArrayBroadcaster::~CkArrayBroadcaster | ( | ) | [virtual] |
Definition at line 1309 of file ckarray.C.
References CkQ< T >::deq(), and oldBcasts.
int& CkArrayBroadcaster::getData | ( | ArrayElement * | el | ) | [inline, private] |
Definition at line 92 of file ckarray.C.
References CkArrayListener::ckGetData().
Referenced by bringUpToDate(), and deliver().
void CkArrayBroadcaster::pup | ( | PUP::er & | p | ) | [virtual] |
Reimplemented from CkArrayListener.
Definition at line 1297 of file ckarray.C.
References bcastNo, broadcastViaScheduler, PUP::er::isUnpacking(), oldBcastNo, CkArrayListener::pup(), and stableLocations.
CkArrayBroadcaster::PUPable_decl | ( | CkArrayBroadcaster | ) |
virtual void CkArrayBroadcaster::ckElementStamp | ( | int * | eltInfo | ) | [inline, virtual] |
Element creation message is about to be sent.
Reimplemented from CkArrayListener.
Definition at line 100 of file ckarray.C.
References bcastNo.
virtual bool CkArrayBroadcaster::ckElementCreated | ( | ArrayElement * | elt | ) | [inline, virtual] |
Element was just created on this processor Return false if the element migrated away or deleted itself.
Reimplemented from CkArrayListener.
Definition at line 104 of file ckarray.C.
References bringUpToDate().
virtual bool CkArrayBroadcaster::ckElementArriving | ( | ArrayElement * | elt | ) | [inline, virtual] |
Element just arrived on this processor (so just called pup) Return false if the element migrated away or deleted itself.
Reimplemented from CkArrayListener.
Definition at line 109 of file ckarray.C.
References bringUpToDate().
void CkArrayBroadcaster::incoming | ( | CkArrayMessage * | msg | ) |
Definition at line 1315 of file ckarray.C.
References bcastNo, CmiMemoryMarkBlock(), CkQ< T >::enq(), oldBcasts, stableLocations, and UsrToEnv().
Referenced by CkArray::recvBroadcast().
bool CkArrayBroadcaster::deliver | ( | CkArrayMessage * | bcast, | |
ArrayElement * | el, | |||
bool | doFree | |||
) |
Deliver a copy of the given broadcast to the given local element.
Definition at line 1328 of file ckarray.C.
References CkArrayMessage::array_ep(), bcastNo, broadcastViaScheduler, CkArrayManagerDeliver(), CkCopyMsg(), ArrayElement::ckGetID(), CkMigratable::ckInvokeEntry(), Converse::CkMyPe(), CmiMyPe(), ForArrayEltMsg, getData(), idx2str(), envelope::setRecipientID(), and UsrToEnv().
Referenced by bringUpToDate(), CkArray::forwardZCMsgToOtherElems(), and CkArray::recvBroadcast().
void CkArrayBroadcaster::springCleaning | ( | void | ) |
Definition at line 1389 of file ckarray.C.
References bcastNo, CkQ< T >::deq(), CkQ< T >::length(), oldBcastNo, and oldBcasts.
Referenced by CkArray::springCleaning().
void CkArrayBroadcaster::flushState | ( | ) | [virtual] |
used by checkpointing to reset the states
Reimplemented from CkArrayListener.
Definition at line 1401 of file ckarray.C.
References bcastNo, CkQ< T >::deq(), oldBcastNo, and oldBcasts.
bool CkArrayBroadcaster::bringUpToDate | ( | ArrayElement * | el | ) | [private] |
Deliver all needed broadcasts to the given local element.
Definition at line 1359 of file ckarray.C.
References bcastNo, deliver(), CkQ< T >::deq(), CkQ< T >::enq(), getData(), idx2str(), CkQ< T >::length(), oldBcasts, and stableLocations.
Referenced by ckElementArriving(), and ckElementCreated().
int CkArrayBroadcaster::bcastNo [private] |
Definition at line 120 of file ckarray.C.
Referenced by bringUpToDate(), ckElementStamp(), deliver(), flushState(), incoming(), pup(), and springCleaning().
int CkArrayBroadcaster::oldBcastNo [private] |
CkQ<CkArrayMessage *> CkArrayBroadcaster::oldBcasts [private] |
Definition at line 124 of file ckarray.C.
Referenced by bringUpToDate(), flushState(), incoming(), springCleaning(), and ~CkArrayBroadcaster().
bool CkArrayBroadcaster::stableLocations [private] |