message passing base class
More...
#include <msgExecBase.h>
|
virtual | ~MsgExecBase (void) noexcept |
| cleanup message passing resources.
|
|
int | worldSize (void) const |
| return total number of processes in MPI world communicator.
|
|
int | rank (void) const |
| return current process rank.
|
|
int | groupRank (void) const |
| return rank in modeling group.
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
bool | tryReceive (int i_recvFrom, IRowBaseVec &io_resultRowVec, const IPackedAdapter &i_adapter) const |
| try to non-blocking receive and unpack vector of db rows, return return true if completed. More...
|
|
void | waitSendAll (void) |
| wait for non-blocking send to be completed.
|
|
|
int | worldCommSize |
|
int | worldRank |
|
int | group_rank |
|
IFinalState * | theFinal = nullptr |
|
list< unique_ptr< IMsgSend > > | sendLst |
|
message passing base class
◆ startSend()
void MsgExecBase::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.
- Parameters
-
[in] | i_sendTo | receiver proccess rank |
[in] | i_msgTag | tag to identify message content (parameter or output data) |
[in] | i_type | value type |
[in] | i_size | size of array |
[in] | i_valueArr | value array to send |
◆ startSendPacked()
pack and start non-blocking send of vector of db rows to i_sendTo process.
- Parameters
-
[in] | i_sendTo | receiver proccess rank |
[in] | i_rowVec | vector of db rows to send |
[in] | i_adapter | adapter to pack db rows |
◆ tryReceive() [1/2]
try to non-blocking receive and unpack vector of db rows, return return true if completed.
try to non-blocking receive and unpack vector of db rows, return true if completed.
- Parameters
-
[in] | i_recvFrom | sender proccess rank |
[in,out] | io_resultRowVec | vector to push back received db rows |
[in] | i_adapter | adapter to unpack db rows |
◆ tryReceive() [2/2]
bool MsgExecBase::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.
try to non-blocking receive value array, return true if completed.
- Parameters
-
[in] | i_recvFrom | sender proccess rank |
[in] | i_msgTag | tag to identify message content (parameter or output data) |
[in] | i_type | value type |
[in] | i_size | size of array |
[in,out] | io_valueArr | allocated buffer to recieve value array |
The documentation for this class was generated from the following files: