MFEM  v3.3.2
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>

Inheritance diagram for mfem::VarMessage< Tag >:
[legend]
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 302 of file communication.hpp.

Constructor & Destructor Documentation

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

Definition at line 395 of file communication.hpp.

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

Definition at line 398 of file communication.hpp.

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

Definition at line 404 of file communication.hpp.

Member Function Documentation

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

Definition at line 396 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 351 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 308 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 317 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 340 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 364 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 380 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 328 of file communication.hpp.

Member Data Documentation

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

Definition at line 304 of file communication.hpp.

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

Definition at line 305 of file communication.hpp.


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