SG++-Doxygen-Documentation
sgpp::datadriven::PendingMPIRequest Class Reference

#include <PendingMPIRequest.hpp>

Public Member Functions

MPI_Request * getMPIRequestFromHandle ()
 Fetch the MPI_Request from its handle that is attached to this PendingMPIRequest. More...
 
size_t getMPIRequestIndex ()
 Get the Handle to the MPIRequestPool that can be used to get the associated MPI_Request. More...
 
 PendingMPIRequest (sgpp::datadriven::MPIRequestPool *requestPool)
 Create a PendingMPIRequest in the specified MPIRequestPool. More...
 
 ~PendingMPIRequest ()
 Removes the PendingMPIRequest from its MPIRequestPool automatically. More...
 

Public Attributes

sgpp::datadriven::MPI_Packetbuffer
 The buffer that contains the actual data to be sent or received. More...
 
std::function< void(PendingMPIRequest &)> callback
 The callback to execute when the incoming/outgoing MPIRequest is completed. More...
 
bool disposeAfterCallback
 Whether to delete the request after calling the callback. More...
 
bool inbound
 Whether this PendingMPIRequest is a request for incoming messages. More...
 

Protected Attributes

size_t mpiRequestIndex
 The handle to the MPI_Request inside the request pool. More...
 
sgpp::datadriven::MPIRequestPoolmpiRequestPool
 A reference to the MPIRequestPool to which this PendingMPIRequest is associated with. More...
 

Constructor & Destructor Documentation

sgpp::datadriven::PendingMPIRequest::PendingMPIRequest ( sgpp::datadriven::MPIRequestPool requestPool)
explicit

Create a PendingMPIRequest in the specified MPIRequestPool.

Parameters
requestPoolThe MPIRequestPool to create the request in.

References sgpp::datadriven::MPIRequestPool::createMPIRequestHandle(), mpiRequestIndex, and mpiRequestPool.

sgpp::datadriven::PendingMPIRequest::~PendingMPIRequest ( )

Member Function Documentation

MPI_Request * sgpp::datadriven::PendingMPIRequest::getMPIRequestFromHandle ( )

Fetch the MPI_Request from its handle that is attached to this PendingMPIRequest.

Returns
The MPI_Request stored in the MPIRequestPool.

References sgpp::datadriven::MPIRequestPool::getMPIRequestHandle(), mpiRequestIndex, and mpiRequestPool.

Referenced by sgpp::datadriven::MPIMethods::sendIBcast(), and sgpp::datadriven::MPIMethods::sendISend().

size_t sgpp::datadriven::PendingMPIRequest::getMPIRequestIndex ( )

Get the Handle to the MPIRequestPool that can be used to get the associated MPI_Request.

Returns
The handle to the MPI_Request in the MPIRequestPool.

References mpiRequestIndex.

Member Data Documentation

std::function<void(PendingMPIRequest &)> sgpp::datadriven::PendingMPIRequest::callback

The callback to execute when the incoming/outgoing MPIRequest is completed.

Referenced by sgpp::datadriven::MPIMethods::createPendingMPIRequest().

bool sgpp::datadriven::PendingMPIRequest::disposeAfterCallback

Whether to delete the request after calling the callback.

This is set to false for requests that reuse their buffers after completing, such as restarting a read request in the same slot.

Referenced by sgpp::datadriven::MPIMethods::createPendingMPIRequest(), and sgpp::datadriven::MPIMethods::processIncomingMPICommands().

bool sgpp::datadriven::PendingMPIRequest::inbound
size_t sgpp::datadriven::PendingMPIRequest::mpiRequestIndex
protected

The handle to the MPI_Request inside the request pool.

Referenced by getMPIRequestFromHandle(), getMPIRequestIndex(), PendingMPIRequest(), and ~PendingMPIRequest().

sgpp::datadriven::MPIRequestPool& sgpp::datadriven::PendingMPIRequest::mpiRequestPool
protected

A reference to the MPIRequestPool to which this PendingMPIRequest is associated with.

Referenced by getMPIRequestFromHandle(), PendingMPIRequest(), and ~PendingMPIRequest().


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