MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
mfem::VarMessage< Tag > Struct Template Reference

Variable-length MPI message containing unspecific binary data. More...

#include <communication.hpp>

Collaboration diagram for mfem::VarMessage< Tag >:
[legend]

Public Member Functions

void Isend (int rank, MPI_Comm comm)
 Non-blocking send to processor 'rank'. More...
 
void Recv (int rank, int size, MPI_Comm comm)
 Post-probe receive from processor 'rank' of message size 'size'. More...
 
 VarMessage ()
 
void Clear ()
 
virtual ~VarMessage ()
 
 VarMessage (const VarMessage &other)
 

Static Public Member Functions

template<typename MapT >
static void IsendAll (MapT &rank_msg, MPI_Comm comm)
 Helper to send all messages in a rank-to-message map container. More...
 
template<typename MapT >
static void WaitAllSent (MapT &rank_msg)
 Helper to wait for all messages in a map container to be sent. More...
 
static void Probe (int &rank, int &size, MPI_Comm comm)
 
static bool IProbe (int &rank, int &size, MPI_Comm comm)
 
template<typename MapT >
static void RecvAll (MapT &rank_msg, MPI_Comm comm)
 Helper to receive all messages in a rank-to-message map container. More...
 

Public Attributes

std::string data
 
MPI_Request send_request
 

Protected Member Functions

virtual void Encode ()
 
virtual void Decode ()
 

Detailed Description

template<int Tag>
struct mfem::VarMessage< Tag >

Variable-length MPI message containing unspecific binary data.

Definition at line 142 of file communication.hpp.

Constructor & Destructor Documentation

template<int Tag>
mfem::VarMessage< Tag >::VarMessage ( )
inline

Definition at line 234 of file communication.hpp.

template<int Tag>
virtual mfem::VarMessage< Tag >::~VarMessage ( )
inlinevirtual

Definition at line 237 of file communication.hpp.

template<int Tag>
mfem::VarMessage< Tag >::VarMessage ( const VarMessage< Tag > &  other)
inline

Definition at line 243 of file communication.hpp.

Member Function Documentation

template<int Tag>
void mfem::VarMessage< Tag >::Clear ( )
inline

Definition at line 235 of file communication.hpp.

template<int Tag>
virtual void mfem::VarMessage< Tag >::Decode ( )
inlineprotectedvirtual
template<int Tag>
virtual void mfem::VarMessage< Tag >::Encode ( )
inlineprotectedvirtual
template<int Tag>
static bool mfem::VarMessage< Tag >::IProbe ( int &  rank,
int &  size,
MPI_Comm  comm 
)
inlinestatic

Non-blocking probe for incoming message of this type from any rank. If there is an incoming message, returns true and sets 'rank' and 'size'. Otherwise returns false.

Definition at line 191 of file communication.hpp.

template<int Tag>
void mfem::VarMessage< Tag >::Isend ( int  rank,
MPI_Comm  comm 
)
inline

Non-blocking send to processor 'rank'.

Definition at line 148 of file communication.hpp.

template<int Tag>
template<typename MapT >
static void mfem::VarMessage< Tag >::IsendAll ( MapT &  rank_msg,
MPI_Comm  comm 
)
inlinestatic

Helper to send all messages in a rank-to-message map container.

Definition at line 157 of file communication.hpp.

template<int Tag>
static void mfem::VarMessage< Tag >::Probe ( int &  rank,
int &  size,
MPI_Comm  comm 
)
inlinestatic

Blocking probe for incoming message of this type from any rank. Returns the rank and message size.

Definition at line 180 of file communication.hpp.

template<int Tag>
void mfem::VarMessage< Tag >::Recv ( int  rank,
int  size,
MPI_Comm  comm 
)
inline

Post-probe receive from processor 'rank' of message size 'size'.

Definition at line 204 of file communication.hpp.

template<int Tag>
template<typename MapT >
static void mfem::VarMessage< Tag >::RecvAll ( MapT &  rank_msg,
MPI_Comm  comm 
)
inlinestatic

Helper to receive all messages in a rank-to-message map container.

Definition at line 220 of file communication.hpp.

template<int Tag>
template<typename MapT >
static void mfem::VarMessage< Tag >::WaitAllSent ( MapT &  rank_msg)
inlinestatic

Helper to wait for all messages in a map container to be sent.

Definition at line 168 of file communication.hpp.

Member Data Documentation

template<int Tag>
std::string mfem::VarMessage< Tag >::data

Definition at line 144 of file communication.hpp.

template<int Tag>
MPI_Request mfem::VarMessage< Tag >::send_request

Definition at line 145 of file communication.hpp.


The documentation for this struct was generated from the following file: