Loading...
Searching...
No Matches
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/request_endpoint_close_builder.h>
15#include <ucxx/typedefs.h>
16
17namespace ucxx {
18
24class RequestEndpointClose : public Request {
25 private:
50 RequestEndpointClose(std::shared_ptr<Endpoint> endpoint,
51 const data::EndpointClose requestData,
52 std::string operationName,
53 const bool enablePythonFuture = false,
54 RequestCallbackUserFunction callbackFunction = nullptr,
55 RequestCallbackUserData callbackData = nullptr);
56
57 void populateDelayedSubmissionImpl() override;
58
59 public:
60 // Allow internal construction without exposing factory functions.
61 friend class detail::ConstructorFactory;
62
71 void request();
72
88 static void endpointCloseCallback(void* request, ucs_status_t status, void* arg);
89};
90
91} // namespace ucxx
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.
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.
Data for an endpoint close operation.
Definition request_data.h:99
Definition address.h:16
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