PPL Logo

CkArrayBroadcaster Class Reference

This arrayListener is in charge of delivering broadcasts to the array. More...

Inheritance diagram for CkArrayBroadcaster:

Inheritance graph
[legend]
Collaboration diagram for CkArrayBroadcaster:

Collaboration graph
[legend]

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

intgetData (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

Detailed Description

This arrayListener is in charge of delivering broadcasts to the array.

Definition at line 91 of file ckarray.C.


Constructor & Destructor Documentation

CkArrayBroadcaster::CkArrayBroadcaster ( bool  _stableLocations,
bool  _broadcastViaScheduler 
)

Definition at line 1288 of file ckarray.C.

CkArrayBroadcaster::CkArrayBroadcaster ( CkMigrateMessage m  ) 

Definition at line 1293 of file ckarray.C.

CkArrayBroadcaster::~CkArrayBroadcaster (  )  [virtual]

Definition at line 1309 of file ckarray.C.

References CkQ< T >::deq(), and oldBcasts.

Here is the call graph for this function:


Member Function Documentation

int& CkArrayBroadcaster::getData ( ArrayElement el  )  [inline, private]

Definition at line 92 of file ckarray.C.

References CkArrayListener::ckGetData().

Referenced by bringUpToDate(), and deliver().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 121 of file ckarray.C.

Referenced by flushState(), pup(), and springCleaning().

Definition at line 124 of file ckarray.C.

Referenced by bringUpToDate(), flushState(), incoming(), springCleaning(), and ~CkArrayBroadcaster().

Definition at line 125 of file ckarray.C.

Referenced by bringUpToDate(), incoming(), and pup().

Definition at line 126 of file ckarray.C.

Referenced by deliver(), and pup().


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

Generated on Mon Sep 21 08:19:09 2020 for Charm++ by  doxygen 1.5.5