10 #include <ucp/api/ucp.h>
12 #include <ucxx/delayed_submission.h>
13 #include <ucxx/request.h>
14 #include <ucxx/typedefs.h>
56 std::shared_ptr<Component> endpointOrWorker,
57 const std::variant<data::TagSend, data::TagReceive, data::TagReceiveWithHandle> requestData,
58 std::string operationName,
59 const bool enablePythonFuture =
false,
96 std::shared_ptr<Component> endpointOrWorker,
97 const std::variant<data::TagSend, data::TagReceive, data::TagReceiveWithHandle> requestData,
98 const bool enablePythonFuture,
149 const ucp_tag_recv_info_t* info,
Send or receive a message with the UCX Tag API.
Definition: request_tag.h:24
void request()
Create and submit a tag request.
friend std::shared_ptr< RequestTag > createRequestTag(std::shared_ptr< Component > endpointOrWorker, const std::variant< data::TagSend, data::TagReceive, data::TagReceiveWithHandle > requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
Constructor for std::shared_ptr<ucxx::RequestTag>.
virtual void populateDelayedSubmission()
Populate the internal submission dispatcher.
void callback(void *request, ucs_status_t status, const ucp_tag_recv_info_t *info)
Implementation of the tag receive request callback.
static void tagSendCallback(void *request, ucs_status_t status, void *arg)
Callback executed by UCX when a tag send request is completed.
static void tagRecvCallback(void *request, ucs_status_t status, const ucp_tag_recv_info_t *info, void *arg)
Callback executed by UCX when a tag receive request is completed.
Base type for a UCXX transfer request.
Definition: request.h:38
std::function< void(ucs_status_t, std::shared_ptr< void >)> RequestCallbackUserFunction
A user-defined function to execute as part of a ucxx::Request callback.
Definition: typedefs.h:91
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:99