TIMPI
|
Encapsulates the MPI_Request. More...
#include <request.h>
Public Member Functions | |
Request () | |
Request (const request &r) | |
Request (const Request &other) | |
void | cleanup () |
Request & | operator= (const Request &other) |
Request & | operator= (const request &r) |
~Request () | |
request * | get () |
const request * | get () const |
Status | wait () |
bool | test () |
bool | test (status &status) |
void | add_prior_request (const Request &req) |
void | add_post_wait_work (PostWaitWork *work) |
Static Public Attributes | |
static const request | null_request = MPI_REQUEST_NULL |
Private Attributes | |
request | _request |
std::unique_ptr< Request > | _prior_request |
std::pair< std::vector< PostWaitWork *>, unsigned int > * | post_wait_work |
Friends | |
std::size_t | waitany (std::vector< Request > &) |
Wait for at least one non-blocking operation to finish. More... | |
TIMPI::Request::Request | ( | ) |
Definition at line 48 of file request.C.
Referenced by add_prior_request(), operator=(), and Request().
TIMPI::Request::Request | ( | const request & | r | ) |
Definition at line 53 of file request.C.
TIMPI::Request::Request | ( | const Request & | other | ) |
Definition at line 58 of file request.C.
References _prior_request, post_wait_work, and Request().
void TIMPI::Request::add_post_wait_work | ( | PostWaitWork * | work | ) |
Definition at line 204 of file request.C.
References post_wait_work.
Referenced by TIMPI::Communicator::nonblocking_receive_packed_range(), TIMPI::Communicator::nonblocking_send_packed_range(), TIMPI::Communicator::possibly_receive(), TIMPI::Communicator::possibly_receive_packed_range(), TIMPI::Communicator::receive(), TIMPI::Communicator::send(), and TIMPI::Communicator::send_packed_range().
void TIMPI::Request::add_prior_request | ( | const Request & | req | ) |
Definition at line 190 of file request.C.
References _prior_request, and Request().
Referenced by TIMPI::Communicator::send_packed_range().
void TIMPI::Request::cleanup | ( | ) |
Definition at line 71 of file request.C.
References post_wait_work.
Referenced by operator=(), and ~Request().
|
inline |
Definition at line 84 of file request.h.
References _request.
Referenced by TIMPI::Communicator::max(), TIMPI::Communicator::min(), TIMPI::Communicator::nonblocking_barrier(), TIMPI::Communicator::possibly_receive(), TIMPI::Communicator::receive(), TIMPI::Communicator::send(), TIMPI::Communicator::sum(), testNonblockingWaitany(), and TIMPI::waitany().
|
inline |
Definition at line 92 of file request.C.
References _prior_request, _request, cleanup(), post_wait_work, and Request().
Definition at line 109 of file request.C.
References _request, cleanup(), and post_wait_work.
bool TIMPI::Request::test | ( | ) |
Definition at line 153 of file request.C.
References _request, and null_request.
Referenced by TIMPI::detail::push_parallel_nbx_helper(), and testNonblockingTest().
bool TIMPI::Request::test | ( | status & | status | ) |
Status TIMPI::Request::wait | ( | ) |
Definition at line 121 of file request.C.
References _prior_request, _request, and post_wait_work.
Referenced by TIMPI::detail::push_parallel_nbx_helper(), TIMPI::push_parallel_packed_range(), TIMPI::Communicator::send_receive_packed_range(), testNonblockingMax(), testNonblockingMin(), and TIMPI::wait().
|
friend |
|
private |
Definition at line 116 of file request.h.
Referenced by add_prior_request(), operator=(), Request(), wait(), and TIMPI::waitany().
|
private |
Definition at line 114 of file request.h.
Referenced by get(), operator=(), test(), wait(), and TIMPI::waitany().
|
static |
Definition at line 111 of file request.h.
Referenced by TIMPI::Communicator::max(), TIMPI::Communicator::min(), TIMPI::Communicator::sum(), test(), testNonblockingWaitany(), and TIMPI::waitany().
|
private |
Definition at line 124 of file request.h.
Referenced by add_post_wait_work(), cleanup(), operator=(), Request(), wait(), and TIMPI::waitany().