All Classes Namespaces Functions Variables Typedefs Enumerations Friends
request_flush.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 
24 class RequestFlush : public Request {
25  private:
55  RequestFlush(std::shared_ptr<Component> endpointOrWorker,
56  const data::Flush requestData,
57  const std::string operationName,
58  const bool enablePythonFuture = false,
59  RequestCallbackUserFunction callbackFunction = nullptr,
60  RequestCallbackUserData callbackData = nullptr);
61 
62  public:
89  [[nodiscard]] friend std::shared_ptr<RequestFlush> createRequestFlush(
90  std::shared_ptr<Component> endpointOrWorker,
91  const data::Flush requestData,
92  const bool enablePythonFuture,
93  RequestCallbackUserFunction callbackFunction,
94  RequestCallbackUserData callbackData);
95 
96  virtual void populateDelayedSubmission();
97 
106  void request();
107 
123  static void flushCallback(void* request, ucs_status_t status, void* arg);
124 };
125 
126 } // namespace ucxx
Flush a UCP endpoint or worker.
Definition: request_flush.h:24
static void flushCallback(void *request, ucs_status_t status, void *arg)
Callback executed by UCX when a flush request is completed.
friend std::shared_ptr< RequestFlush > createRequestFlush(std::shared_ptr< Component > endpointOrWorker, const data::Flush requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
Constructor for std::shared_ptr<ucxx::RequestFlush>.
virtual void populateDelayedSubmission()
Populate the internal submission dispatcher.
void request()
Create and submit a flush request.
Base type for a UCXX transfer request.
Definition: request.h:38
Data for a flush operation.
Definition: request_data.h:101
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