10 #include <ucp/api/ucp.h>
12 #include <ucxx/delayed_submission.h>
13 #include <ucxx/request.h>
14 #include <ucxx/typedefs.h>
34 std::string _header{};
63 RequestAm(std::shared_ptr<Component> endpointOrWorker,
64 const std::variant<data::AmSend, data::AmReceive> requestData,
65 const std::string operationName,
66 const bool enablePythonFuture =
false,
96 std::shared_ptr<Endpoint> endpoint,
97 const std::variant<data::AmSend, data::AmReceive> requestData,
98 const bool enablePythonFuture,
151 size_t header_length,
154 const ucp_am_recv_param_t* param);
Send or receive a message with the UCX Active Message API.
Definition: request_am.h:30
void request()
Create and submit an active message send request.
std::shared_ptr< Buffer > getRecvBuffer() override
Get the received buffer.
void populateDelayedSubmission() override
Populate the internal submission dispatcher.
void cancel() override
Cancel the request.
friend std::shared_ptr< RequestAm > createRequestAm(std::shared_ptr< Endpoint > endpoint, const std::variant< data::AmSend, data::AmReceive > requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
Constructor for std::shared_ptr<ucxx::RequestAm>.
static ucs_status_t recvCallback(void *arg, const void *header, size_t header_length, void *data, size_t length, const ucp_am_recv_param_t *param)
Receive callback registered by ucxx::Worker.
Base type for a UCXX transfer request.
Definition: request.h:38
Handle receiving of a ucxx::RequestAm.
Definition: request_am.h:34
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:103
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:111