MFEM  v3.4
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...
 
void RecvDrop (int rank, int size, MPI_Comm comm)
 Like Recv(), but throw away the messsage. 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 (int rank)
 
virtual void Decode (int rank)
 

Detailed Description

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

Variable-length MPI message containing unspecific binary data.

Definition at line 314 of file communication.hpp.

Constructor & Destructor Documentation

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

Definition at line 416 of file communication.hpp.

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

Definition at line 419 of file communication.hpp.

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

Definition at line 425 of file communication.hpp.

Member Function Documentation

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

Definition at line 417 of file communication.hpp.

template<int Tag>
virtual void mfem::VarMessage< Tag >::Decode ( int  rank)
inlineprotectedvirtual
template<int Tag>
virtual void mfem::VarMessage< Tag >::Encode ( int  rank)
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 363 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 320 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 329 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 352 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 376 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 401 of file communication.hpp.

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

Like Recv(), but throw away the messsage.

Definition at line 391 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 340 of file communication.hpp.

Member Data Documentation

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

Definition at line 316 of file communication.hpp.

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

Definition at line 317 of file communication.hpp.


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