
#include <ComlibSectionInfo.h>

Public Member Functions | |
| ComlibSectionInfo () | |
| void | initSectionID (CkSectionID *sid) |
| Create a unique identifier for the supplied CkSectionID. | |
| void | processOldSectionMessage (CharmMessageHolder *cmsg) |
| CkMcastBaseMsg * | getNewDeliveryErrorMsg (CkMcastBaseMsg *base) |
| Create a new message to be sent to the root processor of this broadcast to tell it that we missed some objects during delivery. | |
| ComlibMulticastMsg * | getNewMulticastMessage (CharmMessageHolder *cmsg, int needSort, int instanceID) |
| Starting from a message to be sent, it generates a new message containing the information about the multicast, together with the message itself. | |
| void | unpack (envelope *cb_env, int &nLocalElems, CkArrayIndex *&destIndices, envelope *&env) |
| Given a ComlibMulticastMsg arrived through the network as input (cb_env), separate it into its basic components. | |
| void | localMulticast (envelope *env) |
| void | getPeCount (int nindices, CkArrayIndex *idxlist, const CkArrayID &destArrayID, int &npes, int &nidx, ComlibMulticastIndexCount *&counts, int *&belongs) |
| Returns the number of remote procs involved in the array index list, the number of elements each proc has, and the mapping between indices and procs. | |
| void | getPeList (envelope *cb_env, int npes, int *&pelist) |
| void | getRemotePelist (int nindices, CkArrayIndex *idxlist, CkArrayID &destArrayID, int &npes, int *&pelist) |
| Returns the list of remote procs (therefore not including our processor) involved in the array index list. | |
| void | getPeList (int nindices, CkArrayIndex *idxlist, CkArrayID &destArrayID, int &npes, int *&pelist) |
| Returns the same list as getRemotePeList, only that it does not exclude the local processor from the list if it is involved. | |
| void | getLocalIndices (int nindices, CkArrayIndex *idxlist, CkArrayID &destArrayID, CkVec< CkArrayIndex > &idx_vec) |
| void | getNodeLocalIndices (int nindices, CkArrayIndex *idxlist, CkArrayID &destArrayID, CkVec< CkArrayIndex > &idx_vec) |
| void | pup (PUP::er &p) |
Private Attributes | |
| int | MaxSectionID |
| Maximum section id used so far. | |
The class maintains a counter for generating unique ids for each section. It also provides utility functions that can extract information such as PE lists from messages.
Definition at line 120 of file ComlibSectionInfo.h.
int ComlibSectionInfo::MaxSectionID [private] |
Maximum section id used so far.
Incremented for each new CkSectionID that gets created. Will be used (along with the source PE) to access a hashtable on remote processors, when looking up persistent data for the section.
Definition at line 125 of file ComlibSectionInfo.h.
Referenced by getNewMulticastMessage().
1.5.5