basecode/Element.cpp File Reference

#include "header.h"
#include "FuncOrder.h"
#include "HopFunc.h"
#include "../msg/OneToAllMsg.h"
#include "../shell/Shell.h"
#include "../scheduling/Clock.h"
Include dependency graph for Element.cpp:

Classes

class  matchMid

Functions

vector< FuncOrderputFuncsInOrder (const Element *elm, const vector< MsgFuncBinding > &vec)
void filterOffNodeTargets (unsigned int start, unsigned int end, bool isSrcGlobal, unsigned int myNode, vector< vector< Eref > > &erefs, vector< vector< bool > > &targetNodes)
unsigned int findNumDigest (const vector< vector< MsgDigest > > &md, unsigned int totFunc, unsigned int numData, unsigned int funcNum)

Function Documentation

void filterOffNodeTargets ( unsigned int  start,
unsigned int  end,
bool  isSrcGlobal,
unsigned int  myNode,
vector< vector< Eref > > &  erefs,
vector< vector< bool > > &  targetNodes 
)

Picks which messages we retain in the MsgDigest. Does so at two levels:

  • Builds an array[][] of bools to indicate messages sourced here that go off-node. These will have special HopFuncs added.
  • Retains entries in erefs that are sourced anywhere, but targetted here. Need to be able to handle off-node messages landing here, as well as the entirely local messages.

References ALLDATA, Eref::dataIndex(), Eref::element(), Eref::getNode(), Element::isGlobal(), and Shell::numNodes().

Referenced by testFilterOffNodeTargets().

Here is the call graph for this function:

unsigned int findNumDigest ( const vector< vector< MsgDigest > > &  md,
unsigned int  totFunc,
unsigned int  numData,
unsigned int  funcNum 
)

Referenced by Element::digestMessages().

vector< FuncOrder> putFuncsInOrder ( const Element elm,
const vector< MsgFuncBinding > &  vec 
)

References Element::cinfo(), Msg::e1(), Msg::e2(), MsgFuncBinding::fid, Msg::getMsg(), Cinfo::getOpFunc(), and MsgFuncBinding::mid.

Referenced by Element::digestMessages().

Here is the call graph for this function:


Generated on 1 Jul 2015 for MOOSE by  doxygen 1.6.1