37 void startSend(
int i_sendTo,
MsgTag i_msgTag,
const type_info & i_type,
size_t i_size,
void * i_valueArr);
43 bool tryReceive(
int i_recvFrom,
MsgTag i_msgTag,
const type_info & i_type,
size_t i_size,
void * io_valueArr)
const;
58 IFinalState * theFinal =
nullptr;
60 list<unique_ptr<IMsgSend> > sendLst;
63 MsgExecBase(
const MsgExecBase & i_msgExec) =
delete;
64 MsgExecBase & operator=(
const MsgExecBase & i_msgExec) =
delete;
message passing base class
Definition: msgExecBase.h:22
void startSendPacked(int i_sendTo, const IRowBaseVec &i_rowVec, const IPackedAdapter &i_adapter)
pack and start non-blocking send of vector of db rows to i_sendTo process.
Definition: msgExecBase.cpp:74
void startSend(int i_sendTo, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *i_valueArr)
start non-blocking send of value array to i_sendTo process.
Definition: msgExecBase.cpp:46
int rank(void) const
return current process rank.
Definition: msgExecBase.cpp:24
int groupRank(void) const
return rank in modeling group.
Definition: msgExecBase.cpp:31
virtual ~MsgExecBase(void) noexcept
cleanup message passing resources.
Definition: msgExecBase.h:25
void waitSendAll(void)
wait for non-blocking send to be completed.
Definition: msgExecBase.cpp:148
bool tryReceive(int i_recvFrom, MsgTag i_msgTag, const type_info &i_type, size_t i_size, void *io_valueArr) const
try to non-blocking receive value array, return return true if completed.
Definition: msgExecBase.cpp:102
int worldSize(void) const
return total number of processes in MPI world communicator.
Definition: msgExecBase.cpp:17
OpenM++: message passing library public interface.
openM++ namespace
Definition: log.h:32
MsgTag
tag to identify message content
Definition: msg.h:29
recursive_mutex msgMutex
mutex to lock messaging operations
Definition: msgExecBase.cpp:14
std::vector< IRowBaseUptr > IRowBaseVec
db rows: vector of unique pointers to db row
Definition: omHelper.h:239
final model run state public interface: thread safe
Definition: omHelper.h:246
public interface to pack and unpack rows of metadata db-table
Definition: msg.h:99