FEI Package Browser (Single Doxygen Collection)  Version of the Day
snl_fei_SubdMsgHandler.hpp
Go to the documentation of this file.
1 /*--------------------------------------------------------------------*/
2 /* Copyright 2005 Sandia Corporation. */
3 /* Under the terms of Contract DE-AC04-94AL85000, there is a */
4 /* non-exclusive license for use of this work by or on behalf */
5 /* of the U.S. Government. Export of this program may require */
6 /* a license from the United States Government. */
7 /*--------------------------------------------------------------------*/
8 
9 #ifndef _snl_fei_SubdMsgHandler_hpp_
10 #define _snl_fei_SubdMsgHandler_hpp_
11 
12 #include <fei_macros.hpp>
13 #include <fei_CommUtils.hpp>
14 #include <fei_fwd.hpp>
15 
16 #include <vector>
17 
18 namespace fei {
19  template<typename T> class SharedIDs;
20 }
21 
22 namespace snl_fei {
24  class SubdMsgHandler : public fei::MessageHandler<int> {
25  public:
27  SubdMsgHandler(RecordCollection* recordCollection,
28  fei::SharedIDs<int>* sharedIDTable,
29  fei::SharedIDs<int>* subdomainIDTable);
31  virtual ~SubdMsgHandler();
32 
34  std::vector<int>& getSendProcs();
35 
37  std::vector<int>& getRecvProcs();
38 
40  int getSendMessageLength(int destProc, int& messageLength);
41 
43  int getSendMessage(int destProc, std::vector<int>& message);
44 
46  int processRecvMessage(int srcProc, std::vector<int>& message);
47 
50  { sendPattern_ = pattern; }
51 
54  { recvPattern_ = pattern; }
55 
56  private:
62 
63  std::vector<int> sendProcs_;
64  std::vector<int> recvProcs_;
65  };//class SubdMsgHandler
66 }//namespace snl_fei
67 
68 #endif // _snl_fei_SubdMsgHandler_hpp_
69 
snl_fei::SubdMsgHandler::getSendProcs
std::vector< int > & getSendProcs()
Definition: snl_fei_SubdMsgHandler.cpp:37
snl_fei::SubdMsgHandler::recvPattern_
fei::comm_map * recvPattern_
Definition: snl_fei_SubdMsgHandler.hpp:58
snl_fei::SubdMsgHandler::setSendPattern
void setSendPattern(fei::comm_map *pattern)
Definition: snl_fei_SubdMsgHandler.hpp:49
snl_fei
Definition: fei_MatrixGraph_Impl2.cpp:46
snl_fei::SubdMsgHandler::subdomainIDTable_
fei::SharedIDs< int > * subdomainIDTable_
Definition: snl_fei_SubdMsgHandler.hpp:61
snl_fei::SubdMsgHandler
Definition: snl_fei_SubdMsgHandler.hpp:24
snl_fei::SubdMsgHandler::getRecvProcs
std::vector< int > & getRecvProcs()
Definition: snl_fei_SubdMsgHandler.cpp:43
fei::SharedIDs< int >
snl_fei::SubdMsgHandler::~SubdMsgHandler
virtual ~SubdMsgHandler()
Definition: snl_fei_SubdMsgHandler.cpp:33
snl_fei::SubdMsgHandler::processRecvMessage
int processRecvMessage(int srcProc, std::vector< int > &message)
Definition: snl_fei_SubdMsgHandler.cpp:94
fei_macros.hpp
fei_fwd.hpp
snl_fei::RaggedTable
Definition: snl_fei_RaggedTable.hpp:29
snl_fei::SubdMsgHandler::sharedIDTable_
fei::SharedIDs< int > * sharedIDTable_
Definition: snl_fei_SubdMsgHandler.hpp:60
snl_fei::SubdMsgHandler::getSendMessageLength
int getSendMessageLength(int destProc, int &messageLength)
Definition: snl_fei_SubdMsgHandler.cpp:49
snl_fei::SubdMsgHandler::recvProcs_
std::vector< int > recvProcs_
Definition: snl_fei_SubdMsgHandler.hpp:64
fei::MessageHandler
Definition: fei_CommUtils.hpp:564
snl_fei::SubdMsgHandler::SubdMsgHandler
SubdMsgHandler(RecordCollection *recordCollection, fei::SharedIDs< int > *sharedIDTable, fei::SharedIDs< int > *subdomainIDTable)
Definition: snl_fei_SubdMsgHandler.cpp:20
snl_fei::SubdMsgHandler::getSendMessage
int getSendMessage(int destProc, std::vector< int > &message)
Definition: snl_fei_SubdMsgHandler.cpp:63
snl_fei::SubdMsgHandler::recordCollection_
RecordCollection * recordCollection_
Definition: snl_fei_SubdMsgHandler.hpp:59
fei_CommUtils.hpp
snl_fei::SubdMsgHandler::setRecvPattern
void setRecvPattern(fei::comm_map *pattern)
Definition: snl_fei_SubdMsgHandler.hpp:53
fei
Definition: fei_ArrayUtils.hpp:16
snl_fei::SubdMsgHandler::sendPattern_
fei::comm_map * sendPattern_
Definition: snl_fei_SubdMsgHandler.hpp:57
snl_fei::RecordCollection
Definition: snl_fei_RecordCollection.hpp:32
snl_fei::SubdMsgHandler::sendProcs_
std::vector< int > sendProcs_
Definition: snl_fei_SubdMsgHandler.hpp:63