|
Teuchos - Trilinos Tools Package Version of the Day
|
Base class MPI implementation of CommRequest. More...
#include <Teuchos_DefaultMpiComm_decl.hpp>
Public Member Functions | |
| MpiCommRequestBase () | |
| Default constructor. | |
| MpiCommRequestBase (MPI_Request rawMpiRequest) | |
| Constructor (from a raw MPI_Request). | |
| MPI_Request | releaseRawMpiRequest () |
| Return and relinquish ownership of the raw MPI_Request. | |
| bool | isNull () const |
Whether the raw MPI_Request is MPI_REQUEST_NULL. | |
| RCP< CommStatus< OrdinalType > > | wait () |
| Wait on this communication request to complete. | |
| RCP< CommStatus< OrdinalType > > | cancel () |
| Cancel the communication request, and return its status. | |
| virtual | ~MpiCommRequestBase () |
| Destructor; cancels the request if it is still pending. | |
Public Member Functions inherited from Teuchos::CommRequest< OrdinalType > | |
| virtual | ~CommRequest () |
| Destructor; cancels the request if it is still pending. | |
Public Member Functions inherited from Teuchos::Describable | |
| virtual std::string | description () const |
| Return a simple one-line description of this object. | |
| virtual void | describe (FancyOStream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| Print the object with some verbosity level to a FancyOStream. | |
| void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| Version of describe() that takes an std::ostream instead of a FancyOStream. | |
| virtual | ~Describable () |
| Destructor (marked virtual for memory safety of derived classes). | |
Public Member Functions inherited from Teuchos::LabeledObject | |
| LabeledObject () | |
| Construct with an empty label. | |
| virtual | ~LabeledObject () |
| virtual void | setObjectLabel (const std::string &objectLabel) |
| Set the object label (see LabeledObject). | |
| virtual std::string | getObjectLabel () const |
| Get the object label (see LabeledObject). | |
Additional Inherited Members | |
Static Public Attributes inherited from Teuchos::Describable | |
| static const EVerbosityLevel | verbLevel_default = VERB_DEFAULT |
Default value for the verbLevel argument of describe(). | |
Related Symbols inherited from Teuchos::Describable | |
| DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
| Describable output stream manipulator. | |
| std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
| Output stream operator for Describable manipulator. | |
Base class MPI implementation of CommRequest.
| OrdinalType | Same as the template parameter of Comm. |
This class wraps MPI_Request, which is MPI's reification of a nonblocking communication operation.
Users would not normally create an instance of this class. Calls to nonblocking communication operations (such as ireceive() or isend()) return a pointer to a CommRequest. If the Comm is an MpiComm, then the returned CommRequest is an MpiCommRequest.
Users might wish to create an MpiCommRequest directly if they want to encapsulate an MPI_Request returned by an external library or by their own code.
Definition at line 76 of file Teuchos_DefaultMpiComm_decl.hpp.
| Teuchos::MpiCommRequestBase< OrdinalType >::MpiCommRequestBase | ( | ) |
Default constructor.
| Teuchos::MpiCommRequestBase< OrdinalType >::MpiCommRequestBase | ( | MPI_Request | rawMpiRequest | ) |
Constructor (from a raw MPI_Request).
|
virtual |
Destructor; cancels the request if it is still pending.
| MPI_Request Teuchos::MpiCommRequestBase< OrdinalType >::releaseRawMpiRequest | ( | ) |
Return and relinquish ownership of the raw MPI_Request.
"Relinquish ownership" means that this object sets its raw MPI_Request to MPI_REQUEST_NULL, but returns the original MPI_Request. This effectively gives the caller ownership of the raw MPI_Request. This prevents hanging requests.
| bool Teuchos::MpiCommRequestBase< OrdinalType >::isNull | ( | ) | const |
Whether the raw MPI_Request is MPI_REQUEST_NULL.
|
virtual |
Wait on this communication request to complete.
This is a blocking operation. The user is responsible for avoiding deadlock. (For example, a receive must have a matching send, otherwise a wait on the receive will wait forever.)
Implements Teuchos::CommRequest< OrdinalType >.
| RCP< CommStatus< OrdinalType > > Teuchos::MpiCommRequestBase< OrdinalType >::cancel | ( | ) |
Cancel the communication request, and return its status.
If this request is invalid or has already been invalidated, this method returns null.