...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::mpi::request — A request for a non-blocking send or receive.
// In header: <boost/mpi/request.hpp> class request { public: // construct/copy/destruct request(); // public member functions status wait(); optional< status > test(); void cancel(); };
This structure contains information about a non-blocking send or receive and will be returned from isend
or irecv
, respectively.
request
public member functionsstatus wait();
Wait until the communication associated with this request has completed, then return a status
object describing the communication.
optional< status > test();
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.
void cancel();
Cancel a pending communication, assuming it has not already been completed.