FEI Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
snl_fei::RecordMsgHandler Class Reference

#include <snl_fei_RecordMsgHandler.hpp>

Inheritance diagram for snl_fei::RecordMsgHandler:
Inheritance graph
[legend]

Public Types

enum  { _FieldMasks_ = 0, _MaskIDs_ = 1, _EqnNumbers_ }
 

Public Member Functions

 RecordMsgHandler (int localProc, RecordCollection *recordCollection, snl_fei::PointBlockMap &ptBlkMap, std::vector< fei::FieldMask * > &fieldMasks, std::vector< int > &eqnNumbers)
 
virtual ~RecordMsgHandler ()
 
std::vector< int > & getSendProcs ()
 
std::vector< int > & getRecvProcs ()
 
int getSendMessageLength (int destProc, int &messageLength)
 
int getSendMessage (int destProc, std::vector< int > &message)
 
int processRecvMessage (int srcProc, std::vector< int > &message)
 
void setTask (int task)
 
void setSendPattern (fei::comm_map *pattern)
 
void setRecvPattern (fei::comm_map *pattern)
 
- Public Member Functions inherited from fei::MessageHandler< int >
virtual ~MessageHandler ()
 

Private Member Functions

int localFieldMaskMessageSize (std::vector< fei::FieldMask * > &fieldMasks)
 
int packLocalFieldMasks (std::vector< fei::FieldMask * > &fieldMasks, std::vector< int > &localFieldMasks)
 
int addFieldMasks (std::vector< int > &msg, std::vector< fei::FieldMask * > &fieldMasks)
 
int packMaskIDs (int destProc, std::vector< int > &msg)
 
int mergeMaskIDs (int srcProc, std::vector< int > &msg)
 
int eqnNumbersMsgLength (int destProc)
 
int packEqnNumbersMsg (int destProc, std::vector< int > &msg)
 
int storeEqnNumbers (int srcProc, std::vector< int > &msg)
 

Private Attributes

fei::comm_mapsendPattern_
 
fei::comm_maprecvPattern_
 
RecordCollectionrecordCollection_
 
snl_fei::PointBlockMapptBlkMap_
 
std::vector< fei::FieldMask * > & fieldMasks_
 
int whichTask_
 
std::vector< int > sendProcs_
 
std::vector< int > recvProcs_
 
std::vector< int > & eqnNumbers_
 
int localProc_
 

Detailed Description

Implementation of MessageHandler specialized for Record objects.

Definition at line 22 of file snl_fei_RecordMsgHandler.hpp.

Member Enumeration Documentation

anonymous enum

enumeration for operation-types

Enumerator
_FieldMasks_ 
_MaskIDs_ 
_EqnNumbers_ 

Definition at line 35 of file snl_fei_RecordMsgHandler.hpp.

Constructor & Destructor Documentation

snl_fei::RecordMsgHandler::RecordMsgHandler ( int  localProc,
RecordCollection recordCollection,
snl_fei::PointBlockMap ptBlkMap,
std::vector< fei::FieldMask * > &  fieldMasks,
std::vector< int > &  eqnNumbers 
)

constructor

Definition at line 21 of file snl_fei_RecordMsgHandler.cpp.

snl_fei::RecordMsgHandler::~RecordMsgHandler ( )
virtual

destructor

Definition at line 39 of file snl_fei_RecordMsgHandler.cpp.

Member Function Documentation

std::vector< int > & snl_fei::RecordMsgHandler::getSendProcs ( )
virtual

Get list of processors to be sent to.

Implements fei::MessageHandler< int >.

Definition at line 43 of file snl_fei_RecordMsgHandler.cpp.

References fei::copyKeysToVector().

std::vector< int > & snl_fei::RecordMsgHandler::getRecvProcs ( )
virtual

Get list of processors to be received from.

Implements fei::MessageHandler< int >.

Definition at line 49 of file snl_fei_RecordMsgHandler.cpp.

References fei::copyKeysToVector().

int snl_fei::RecordMsgHandler::getSendMessageLength ( int  destProc,
int &  messageLength 
)
virtual

Get length of message to be sent to a specified processor.

Implements fei::MessageHandler< int >.

Definition at line 55 of file snl_fei_RecordMsgHandler.cpp.

References ERReturn.

int snl_fei::RecordMsgHandler::getSendMessage ( int  destProc,
std::vector< int > &  message 
)
virtual

Get message data to be sent to specified processor.

Implements fei::MessageHandler< int >.

Definition at line 74 of file snl_fei_RecordMsgHandler.cpp.

References CHK_ERR.

int snl_fei::RecordMsgHandler::processRecvMessage ( int  srcProc,
std::vector< int > &  message 
)
virtual

Process a message received from a specified processor.

Implements fei::MessageHandler< int >.

Definition at line 91 of file snl_fei_RecordMsgHandler.cpp.

References CHK_ERR.

void snl_fei::RecordMsgHandler::setTask ( int  task)
inline

clumsy method for specifying the next operation to be performed.

Definition at line 54 of file snl_fei_RecordMsgHandler.hpp.

References whichTask_.

Referenced by fei::VectorSpace::exchangeFieldInfo(), and fei::VectorSpace::exchangeGlobalIndices().

void snl_fei::RecordMsgHandler::setSendPattern ( fei::comm_map pattern)
inline

Set the pattern that specifies processors to be sent to.

Definition at line 57 of file snl_fei_RecordMsgHandler.hpp.

References sendPattern_.

Referenced by fei::VectorSpace::exchangeFieldInfo(), and fei::VectorSpace::exchangeGlobalIndices().

void snl_fei::RecordMsgHandler::setRecvPattern ( fei::comm_map pattern)
inline

Set the pattern that specifies processors to be received from.

Definition at line 61 of file snl_fei_RecordMsgHandler.hpp.

References recvPattern_.

Referenced by fei::VectorSpace::exchangeFieldInfo(), and fei::VectorSpace::exchangeGlobalIndices().

int snl_fei::RecordMsgHandler::localFieldMaskMessageSize ( std::vector< fei::FieldMask * > &  fieldMasks)
private

Definition at line 109 of file snl_fei_RecordMsgHandler.cpp.

int snl_fei::RecordMsgHandler::packLocalFieldMasks ( std::vector< fei::FieldMask * > &  fieldMasks,
std::vector< int > &  localFieldMasks 
)
private

Definition at line 122 of file snl_fei_RecordMsgHandler.cpp.

int snl_fei::RecordMsgHandler::addFieldMasks ( std::vector< int > &  msg,
std::vector< fei::FieldMask * > &  fieldMasks 
)
private
int snl_fei::RecordMsgHandler::packMaskIDs ( int  destProc,
std::vector< int > &  msg 
)
private
int snl_fei::RecordMsgHandler::mergeMaskIDs ( int  srcProc,
std::vector< int > &  msg 
)
private
int snl_fei::RecordMsgHandler::eqnNumbersMsgLength ( int  destProc)
private
int snl_fei::RecordMsgHandler::packEqnNumbersMsg ( int  destProc,
std::vector< int > &  msg 
)
private
int snl_fei::RecordMsgHandler::storeEqnNumbers ( int  srcProc,
std::vector< int > &  msg 
)
private

Member Data Documentation

fei::comm_map* snl_fei::RecordMsgHandler::sendPattern_
private

Definition at line 82 of file snl_fei_RecordMsgHandler.hpp.

Referenced by setSendPattern().

fei::comm_map* snl_fei::RecordMsgHandler::recvPattern_
private

Definition at line 83 of file snl_fei_RecordMsgHandler.hpp.

Referenced by setRecvPattern().

RecordCollection* snl_fei::RecordMsgHandler::recordCollection_
private

Definition at line 84 of file snl_fei_RecordMsgHandler.hpp.

snl_fei::PointBlockMap& snl_fei::RecordMsgHandler::ptBlkMap_
private

Definition at line 85 of file snl_fei_RecordMsgHandler.hpp.

std::vector<fei::FieldMask*>& snl_fei::RecordMsgHandler::fieldMasks_
private

Definition at line 86 of file snl_fei_RecordMsgHandler.hpp.

int snl_fei::RecordMsgHandler::whichTask_
private

Definition at line 88 of file snl_fei_RecordMsgHandler.hpp.

Referenced by setTask().

std::vector<int> snl_fei::RecordMsgHandler::sendProcs_
private

Definition at line 90 of file snl_fei_RecordMsgHandler.hpp.

std::vector<int> snl_fei::RecordMsgHandler::recvProcs_
private

Definition at line 91 of file snl_fei_RecordMsgHandler.hpp.

std::vector<int>& snl_fei::RecordMsgHandler::eqnNumbers_
private

Definition at line 93 of file snl_fei_RecordMsgHandler.hpp.

int snl_fei::RecordMsgHandler::localProc_
private

Definition at line 95 of file snl_fei_RecordMsgHandler.hpp.


The documentation for this class was generated from the following files: