9 #include <fei_macros.hpp> 
   11 #include <snl_fei_SubdMsgHandler.hpp> 
   12 #include <snl_fei_RecordCollection.hpp> 
   13 #include <fei_SharedIDs.hpp> 
   14 #include <fei_TemplateUtils.hpp> 
   17 #define fei_file "snl_fei::SubdMsgHandler" 
   18 #include <fei_ErrMacros.hpp> 
   25    recordCollection_(recordCollection),
 
   26    sharedIDTable_(sharedIDTable),
 
   27    subdomainIDTable_(subdomainIDTable),
 
   54     FEI_COUT << 
"SubdMsdHandler: destProc: " << destProc << 
", list is NULL."<<FEI_ENDL;
 
   58   messageLength = list->size();
 
   64             std::vector<int>& message)
 
   66   int len = sendPattern_->getRow(destProc)->size();
 
   68   int* msgPtr = &message[0];
 
   71   fei::comm_map::row_type::const_iterator
 
   72     id_iter = ids->begin(),
 
   76   for(; id_iter != id_end; ++id_iter) {
 
   95             std::vector<int>& message)
 
   98   fei::comm_map::row_type::const_iterator
 
   99     id_iter = ids->begin(),
 
  102   int* msgPtr = &message[0];
 
  104   if (message.size() != ids->size()) {
 
  109   for(; id_iter != id_end; ++id_iter) {
 
  112     bool isInRemoteSubdomain = msgPtr[offset++] > 1 ? 
true : 
false;
 
  114     if (isInRemoteSubdomain) {
 
  115       subdomainIDTable_->addSharedID(ID, 1, &srcProc);
 
virtual ~SubdMsgHandler()
 
int getSendMessage(int destProc, std::vector< int > &message)
 
std::vector< int > & getSendProcs()
 
std::vector< int > & getRecvProcs()
 
void copyKeysToVector(const MAP_TYPE &map_obj, std::vector< int > &keyvector)
 
SubdMsgHandler(RecordCollection *recordCollection, fei::SharedIDs< int > *sharedIDTable, fei::SharedIDs< int > *subdomainIDTable)
 
int processRecvMessage(int srcProc, std::vector< int > &message)
 
int getSendMessageLength(int destProc, int &messageLength)