Flush a UCP endpoint or worker. More...
#include <request_flush.h>
Public Member Functions | |
| void | request () |
| Create and submit a flush request. | |
| Public Member Functions inherited from ucxx::Request | |
| Request (const Request &)=delete | |
| Request & | operator= (Request const &)=delete |
| Request (Request &&o)=delete | |
| Request & | operator= (Request &&o)=delete |
| virtual | ~Request () |
| ucxx::Request destructor. | |
| virtual void | cancel () |
| Cancel the request. | |
| ucs_status_t | getStatus () |
| Return the status of the request. | |
| void * | getFuture () |
| Return the future used to check on state. | |
| void | checkError () |
| Check whether the request completed with an error. | |
| bool | isCompleted () |
| Check whether the request has already completed. | |
| void | callback (void *request, ucs_status_t status) |
| Callback executed by UCX when request is completed. | |
| void | populateDelayedSubmission () |
| Populate the internal submission dispatcher. | |
| const std::string & | getOwnerString () const |
| Get formatted string with owner type and handle address. | |
| virtual std::shared_ptr< Buffer > | getRecvBuffer () |
| Get the received buffer. | |
| virtual std::string | getRecvHeader () |
| Get the received user header. | |
| Attributes | queryAttributes () |
| Get the requests's attributes. | |
| Public Member Functions inherited from ucxx::Component | |
| void | setParent (std::shared_ptr< Component > parent) |
| Set the internal parent reference. | |
| std::shared_ptr< Component > | getParent () const |
| Get the internal parent reference. | |
Static Public Member Functions | |
| static void | flushCallback (void *request, ucs_status_t status, void *arg) |
| Callback executed by UCX when a flush request is completed. | |
Friends | |
| class | detail::ConstructorFactory |
Additional Inherited Members | |
| Protected Member Functions inherited from ucxx::Request | |
| Request (std::shared_ptr< Component > endpointOrWorker, const data::RequestData requestData, std::string operationName, const bool enablePythonFuture=false, RequestCallbackUserFunction callbackFunction=nullptr, RequestCallbackUserData callbackData=nullptr) | |
| Protected constructor of an abstract ucxx::Request. | |
| void | process () |
| Perform initial processing of the request to determine if immediate completion. | |
| void | setStatus (ucs_status_t status) |
| Set the request status and notify Python future. | |
| void | publishRequest (void *request) |
| Publish the UCP request handle and capture its attributes. | |
| Protected Attributes inherited from ucxx::Request | |
| ucs_status_t | _status {UCS_INPROGRESS} |
| Requests status. | |
| std::string | _status_msg {} |
| Human-readable status message. | |
| void * | _request {nullptr} |
| Pointer to UCP request. | |
| std::shared_ptr< Future > | _future {nullptr} |
| Future to notify upon completion. | |
| std::shared_ptr< Worker > | _worker |
| Worker that generated request (if not from endpoint). | |
| std::shared_ptr< Endpoint > | _endpoint |
| Endpoint that generated request (if not from worker). | |
| std::string | _ownerString |
| String to print owner (endpoint or worker) when logging. | |
| std::recursive_mutex | _mutex {} |
| Mutex to prevent checking status while it's being set. | |
| data::RequestData | _requestData {} |
| The operation-specific data to be used in the request. | |
| std::string | _operationName |
| Human-readable operation name, mostly used for log messages. | |
| bool | _enablePythonFuture {true} |
| Whether Python future is enabled for this request. | |
| RequestCallbackUserFunction | _callback {nullptr} |
| Completion callback. | |
| RequestCallbackUserData | _callbackData {nullptr} |
| Completion callback data. | |
| Attributes | _requestAttr {} |
| Protected Attributes inherited from ucxx::Component | |
| std::shared_ptr< Component > | _parent {nullptr} |
| A reference-counted pointer to the parent. | |
Flush a UCP endpoint or worker.
Flush outstanding AMO (Atomic Memory Operation) and RMA (Remote Memory Access) operations on a UCP endpoint or worker.
|
static |
Callback executed by UCX when a flush request is completed.
Callback executed by UCX when a flush request is completed, that will dispatch ucxx::Request::callback().
| [in] | request | the UCX request pointer. |
| [in] | status | the completion status of the request. |
| [in] | arg | the pointer to the ucxx::Request object that created the transfer, effectively this pointer as seen by request(). |
| void ucxx::RequestFlush::request | ( | ) |
Create and submit a flush request.
This is the method that should be called to actually submit a flush request. It is meant to be called from populateDelayedSubmission(), which is decided at the discretion of std::shared_ptr<ucxx::Worker>. See populateDelayedSubmission() for more details.