MPI Request Objects
MPI provides request objects (the MPI_Request handle). The program can use request objects to tell it when transfer operations finish. When you send a message, you have choose to wait for it to finish (or finish buffering), or you can return immediately with a request object which you can use to find out when the send is complete.
MPI functions, class wrapper. How this is used to wait for operations to finish.