All Classes Namespaces Functions Variables Typedefs Enumerations Friends
request_endpoint_close.h
1 
5 #pragma once
6 #include <memory>
7 #include <string>
8 #include <utility>
9 
10 #include <ucp/api/ucp.h>
11 
12 #include <ucxx/delayed_submission.h>
13 #include <ucxx/request.h>
14 #include <ucxx/typedefs.h>
15 
16 namespace ucxx {
17 
23 class RequestEndpointClose : public Request {
24  private:
49  RequestEndpointClose(std::shared_ptr<Endpoint> endpoint,
50  const data::EndpointClose requestData,
51  const std::string operationName,
52  const bool enablePythonFuture = false,
53  RequestCallbackUserFunction callbackFunction = nullptr,
54  RequestCallbackUserData callbackData = nullptr);
55 
56  public:
78  [[nodiscard]] friend std::shared_ptr<RequestEndpointClose> createRequestEndpointClose(
79  std::shared_ptr<Endpoint> endpoint,
80  const data::EndpointClose requestData,
81  const bool enablePythonFuture,
82  RequestCallbackUserFunction callbackFunction,
83  RequestCallbackUserData callbackData);
84 
85  virtual void populateDelayedSubmission();
86 
95  void request();
96 
112  static void endpointCloseCallback(void* request, ucs_status_t status, void* arg);
113 };
114 
115 } // namespace ucxx
Send or receive a message with the UCX Tag API.
Definition: request_endpoint_close.h:23
static void endpointCloseCallback(void *request, ucs_status_t status, void *arg)
Callback executed by UCX when an endpoint close request is completed.
void request()
Create and submit an endpoint close request.
virtual void populateDelayedSubmission()
Populate the internal submission dispatcher.
friend std::shared_ptr< RequestEndpointClose > createRequestEndpointClose(std::shared_ptr< Endpoint > endpoint, const data::EndpointClose requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
Constructor for std::shared_ptr<ucxx::RequestEndpointClose>.
Base type for a UCXX transfer request.
Definition: request.h:38
Data for an endpoint close operation.
Definition: request_data.h:81
Definition: address.h:15
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:89
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:97