Home
libucxx
libucxx
ucxx
nightly (0.53)
nightly (0.53)
stable (0.52)
legacy (0.51)
Toggle main menu visibility
Loading...
Searching...
No Matches
include
ucxx
request_flush_builder.h
1
5
#pragma once
6
7
#include <memory>
8
#include <utility>
9
10
#include <ucxx/request_builder_base.h>
11
#include <ucxx/request_data.h>
12
13
namespace
ucxx
{
14
15
// Forward declarations
16
class
Component
;
17
class
Request
;
18
class
RequestFlush
;
19
39
class
RequestFlushBuilder
:
public
RequestCallbackBuilderBase
<RequestFlushBuilder> {
40
private
:
41
std::shared_ptr<Component> _endpointOrWorker;
42
data::Flush
_requestData;
43
44
public
:
52
explicit
RequestFlushBuilder
(std::shared_ptr<Component> endpointOrWorker,
53
data::Flush
requestData);
54
60
[[nodiscard]] std::shared_ptr<RequestFlush>
build
();
61
67
operator
std::shared_ptr<RequestFlush>();
68
74
operator
std::shared_ptr<Request>();
75
};
76
84
[[nodiscard]]
inline
RequestFlushBuilder
requestFlushBuilder
(
85
std::shared_ptr<Component> endpointOrWorker,
data::Flush
requestData)
86
{
87
return
RequestFlushBuilder
(std::move(endpointOrWorker), std::move(requestData));
88
}
89
90
}
// namespace ucxx
ucxx::Component
A UCXX component class to prevent early destruction of parent object.
Definition
component.h:21
ucxx::RequestCallbackBuilderBase
CRTP base for request builders that support completion callbacks.
Definition
request_builder_base.h:115
ucxx::RequestFlushBuilder
Builder class for constructing std::shared_ptr<ucxx::RequestFlush> objects.
Definition
request_flush_builder.h:39
ucxx::RequestFlushBuilder::RequestFlushBuilder
RequestFlushBuilder(std::shared_ptr< Component > endpointOrWorker, data::Flush requestData)
Constructor for RequestFlushBuilder with required parameters.
ucxx::RequestFlushBuilder::build
std::shared_ptr< RequestFlush > build()
Build and return the RequestFlush.
ucxx::RequestFlush
Flush a UCP endpoint or worker.
Definition
request_flush.h:25
ucxx::Request
Base type for a UCXX transfer request.
Definition
request.h:39
ucxx::data::Flush
Data for a flush operation.
Definition
request_data.h:119
ucxx
Definition
address.h:16
ucxx::requestFlushBuilder
RequestFlushBuilder requestFlushBuilder(std::shared_ptr< Component > endpointOrWorker, data::Flush requestData)
Create a RequestFlushBuilder for constructing a shared_ptr<ucxx::RequestFlush>.
Definition
request_flush_builder.h:84
Generated by
1.18.0