A request for a non-blocking send or receive. More...
#include <request.hpp>
Public Member Functions | |
request () | |
Constructs a NULL request. More... | |
status | wait () |
Wait until the communication associated with this request has completed, then return a status object describing the communication. More... | |
optional< status > | test () |
Determine whether the communication associated with this request has completed successfully. More... | |
void | cancel () |
Cancel a pending communication, assuming it has not already been completed. More... | |
Public Attributes | |
MPI_Request | m_requests [2] |
INTERNAL ONLY. More... | |
handler_type | m_handler |
INTERNAL ONLY. More... | |
shared_ptr< void > | m_data |
INTERNAL ONLY. More... | |
Friends | |
class | communicator |
A request for a non-blocking send or receive.
This structure contains information about a non-blocking send or receive and will be returned from isend
or irecv
, respectively.
boost::mpi::request::request | ( | ) |
Constructs a NULL request.
void boost::mpi::request::cancel | ( | ) |
Cancel a pending communication, assuming it has not already been completed.
Determine whether the communication associated with this request has completed successfully.
If so, returns the status
object describing the communication. Otherwise, returns an empty optional<>
to indicate that the communication has not completed yet. Note that once test()
returns a status
object, the request has completed and wait()
should not be called.
status boost::mpi::request::wait | ( | ) |
Wait until the communication associated with this request has completed, then return a status
object describing the communication.
|
friend |
shared_ptr<void> boost::mpi::request::m_data |
handler_type boost::mpi::request::m_handler |
INTERNAL ONLY.
Referenced by boost::mpi::communicator::array_irecv_impl(), and boost::mpi::communicator::irecv_impl().
MPI_Request boost::mpi::request::m_requests[2] |