Loading...
Searching...
No Matches
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/request_flush_builder.h>
15#include <ucxx/typedefs.h>
16
17namespace ucxx {
18
25class RequestFlush : public Request {
26 private:
56 RequestFlush(std::shared_ptr<Component> endpointOrWorker,
57 const data::Flush requestData,
58 std::string operationName,
59 const bool enablePythonFuture = false,
60 RequestCallbackUserFunction callbackFunction = nullptr,
61 RequestCallbackUserData callbackData = nullptr);
62
63 void populateDelayedSubmissionImpl() override;
64
65 public:
66 // Allow internal construction without exposing factory functions.
67 friend class detail::ConstructorFactory;
68
77 void request();
78
94 static void flushCallback(void* request, ucs_status_t status, void* arg);
95};
96
97} // namespace ucxx
static void flushCallback(void *request, ucs_status_t status, void *arg)
Callback executed by UCX when a flush request is completed.
void request()
Create and submit a flush 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 a flush operation.
Definition request_data.h:119
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