12 #include <ucp/api/ucp.h>
14 #include <ucxx/delayed_submission.h>
15 #include <ucxx/request.h>
16 #include <ucxx/request_am_builder.h>
17 #include <ucxx/typedefs.h>
37 std::vector<std::byte> _header{};
66 RequestAm(std::shared_ptr<Component> endpointOrWorker,
67 const std::variant<data::AmSend, data::AmReceive> requestData,
68 std::string operationName,
69 const bool enablePythonFuture =
false,
73 void populateDelayedSubmissionImpl()
override;
77 friend class detail::ConstructorFactory;
126 size_t header_length,
129 const ucp_am_recv_param_t* param);
Send or receive a message with the UCX Active Message API.
Definition: request_am.h:33
void request()
Create and submit an active message send request.
std::shared_ptr< Buffer > getRecvBuffer() override
Get the received buffer.
void cancel() override
Cancel the request.
std::string getRecvHeader() override
Get the received user header.
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:39
Handle receiving of a ucxx::RequestAm.
Definition: request_am.h:36
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:97
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:105