PipeBroadcastStrategy Class Reference

#include <PipeBroadcastStrategy.h>

Inheritance diagram for PipeBroadcastStrategy:

Inheritance graph
[legend]
Collaboration diagram for PipeBroadcastStrategy:

Collaboration graph
[legend]

Public Member Functions

 PipeBroadcastStrategy (int _topology, CkArrayID _aid, int _pipeSize=DEFAULT_PIPE)
 PipeBroadcastStrategy (CkGroupID _gid, int _topology=USE_HYPERCUBE, int _pipeSize=DEFAULT_PIPE)
 PipeBroadcastStrategy (CkMigrateMessage *)
void insertMessage (CharmMessageHolder *msg)
void doneInserting ()
void conversePipeBcast (envelope *env, int size)
void beginProcessing (int x)
void deliverer (char *msg, int dim)
virtual void pup (PUP::er &p)
 PUPable_decl (PipeBroadcastStrategy)

Protected Member Functions

void commonInit (int _top, int _pipe)

Protected Attributes

CkQ< CharmMessageHolder * > * messageBuf
CkVec< CkArrayIndexMax > * localDest

Detailed Description

Definition at line 6 of file PipeBroadcastStrategy.h.


Constructor & Destructor Documentation

PipeBroadcastStrategy::PipeBroadcastStrategy ( int  _topology,
CkArrayID  _aid,
int  _pipeSize = DEFAULT_PIPE 
)

Definition at line 39 of file PipeBroadcastStrategy.C.

References CharmStrategy::ainfo, ComlibPrintf(), commonInit(), ComlibArrayInfo::setDestinationArray(), and Strategy::setType().

PipeBroadcastStrategy::PipeBroadcastStrategy ( CkGroupID  _gid,
int  _topology = USE_HYPERCUBE,
int  _pipeSize = DEFAULT_PIPE 
)

Definition at line 47 of file PipeBroadcastStrategy.C.

References commonInit(), CharmStrategy::ginfo, ComlibGroupInfo::setSourceGroup(), and Strategy::setType().

PipeBroadcastStrategy::PipeBroadcastStrategy ( CkMigrateMessage  )  [inline]

Definition at line 19 of file PipeBroadcastStrategy.h.


Member Function Documentation

void PipeBroadcastStrategy::commonInit ( int  _top,
int  _pipe 
) [protected]

Definition at line 29 of file PipeBroadcastStrategy.C.

References Strategy::converseStrategy.

Referenced by PipeBroadcastStrategy().

void PipeBroadcastStrategy::insertMessage ( CharmMessageHolder msg  )  [virtual]

Reimplemented from CharmStrategy.

Definition at line 54 of file PipeBroadcastStrategy.C.

References doneInserting(), CkQ< T >::enq(), and messageBuf.

void PipeBroadcastStrategy::doneInserting (  )  [virtual]

Reimplemented from Strategy.

Definition at line 77 of file PipeBroadcastStrategy.C.

References Converse::CkMyPe(), ComlibPrintf(), conversePipeBcast(), CkQ< T >::deq(), envelope::getTotalsize(), CkQ< T >::isEmpty(), messageBuf, and UsrToEnv().

Referenced by insertMessage().

void PipeBroadcastStrategy::conversePipeBcast ( envelope env,
int  size 
)

Definition at line 61 of file PipeBroadcastStrategy.C.

References Converse::CkMyPe(), ComlibPrintf(), Strategy::converseStrategy, Strategy::myInstanceID, and envelope::setSrcPe().

Referenced by doneInserting().

void PipeBroadcastStrategy::beginProcessing ( int  x  )  [virtual]

Reimplemented from CharmStrategy.

Definition at line 108 of file PipeBroadcastStrategy.C.

References propagate_handler().

void PipeBroadcastStrategy::deliverer ( char *  msg,
int  dim 
) [virtual]

Reimplemented from Strategy.

Definition at line 11 of file PipeBroadcastStrategy.C.

References CharmStrategy::ainfo, Converse::CkMyPe(), CkSendMsgBranchInline(), ComlibPrintf(), EnvToUsr(), envelope::getEpIdx(), ComlibGroupInfo::getSourceGroup(), Strategy::getType(), CharmStrategy::ginfo, and ComlibArrayInfo::localBroadcast().

void PipeBroadcastStrategy::pup ( PUP::er p  )  [virtual]

Reimplemented from CharmStrategy.

Definition at line 89 of file PipeBroadcastStrategy.C.

References Converse::CkMyPe(), CmiMyPe(), ComlibPrintf(), Strategy::converseStrategy, messageBuf, p, CharmStrategy::pup(), and Strategy::setHigherLevel().

PipeBroadcastStrategy::PUPable_decl ( PipeBroadcastStrategy   ) 


Field Documentation

CkQ<CharmMessageHolder*>* PipeBroadcastStrategy::messageBuf [protected]

Definition at line 10 of file PipeBroadcastStrategy.h.

Referenced by doneInserting(), insertMessage(), and pup().

CkVec<CkArrayIndexMax>* PipeBroadcastStrategy::localDest [protected]

Definition at line 11 of file PipeBroadcastStrategy.h.


The documentation for this class was generated from the following files:
Generated on Sun Jun 29 13:34:44 2008 for Charm++ by  doxygen 1.5.1