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_am_builder.h
1
5
#pragma once
6
7
#include <memory>
8
#include <optional>
9
#include <utility>
10
#include <variant>
11
12
#include <ucxx/request_builder_base.h>
13
#include <ucxx/request_data.h>
14
15
namespace
ucxx
{
16
17
// Forward declarations
18
class
Endpoint
;
19
class
Request
;
20
class
RequestAm
;
21
41
class
RequestAmBuilder
:
public
RequestCallbackBuilderBase
<RequestAmBuilder> {
42
private
:
43
std::shared_ptr<Endpoint> _endpoint;
44
std::variant<data::AmSend, data::AmReceive> _requestData;
45
46
public
:
54
explicit
RequestAmBuilder
(std::shared_ptr<Endpoint> endpoint,
55
std::variant<data::AmSend, data::AmReceive> requestData);
56
65
RequestAmBuilder
&
receiverCallbackInfo
(std::optional<AmReceiverCallbackInfo> info) &;
66
75
RequestAmBuilder
&&
receiverCallbackInfo
(std::optional<AmReceiverCallbackInfo> info) &&;
76
82
[[nodiscard]] std::shared_ptr<RequestAm>
build
();
83
89
operator
std::shared_ptr<RequestAm>();
90
96
operator
std::shared_ptr<Request>();
97
};
98
106
[[nodiscard]]
inline
RequestAmBuilder
requestAmBuilder
(
107
std::shared_ptr<Endpoint> endpoint, std::variant<data::AmSend, data::AmReceive> requestData)
108
{
109
return
RequestAmBuilder
(std::move(endpoint), std::move(requestData));
110
}
111
112
}
// namespace ucxx
ucxx::Endpoint
Component encapsulating a UCP endpoint.
Definition
endpoint.h:69
ucxx::RequestAmBuilder
Builder class for constructing std::shared_ptr<ucxx::RequestAm> objects.
Definition
request_am_builder.h:41
ucxx::RequestAmBuilder::receiverCallbackInfo
RequestAmBuilder && receiverCallbackInfo(std::optional< AmReceiverCallbackInfo > info) &&
Configure receiver callback metadata for active message sends on a temporary builder.
ucxx::RequestAmBuilder::build
std::shared_ptr< RequestAm > build()
Build and return the RequestAm.
ucxx::RequestAmBuilder::receiverCallbackInfo
RequestAmBuilder & receiverCallbackInfo(std::optional< AmReceiverCallbackInfo > info) &
Configure receiver callback metadata for active message sends.
ucxx::RequestAmBuilder::RequestAmBuilder
RequestAmBuilder(std::shared_ptr< Endpoint > endpoint, std::variant< data::AmSend, data::AmReceive > requestData)
Constructor for RequestAmBuilder with required parameters.
ucxx::RequestAm
Send or receive a message with the UCX Active Message API.
Definition
request_am.h:33
ucxx::RequestCallbackBuilderBase
CRTP base for request builders that support completion callbacks.
Definition
request_builder_base.h:115
ucxx::Request
Base type for a UCXX transfer request.
Definition
request.h:39
ucxx
Definition
address.h:16
ucxx::requestAmBuilder
RequestAmBuilder requestAmBuilder(std::shared_ptr< Endpoint > endpoint, std::variant< data::AmSend, data::AmReceive > requestData)
Create a RequestAmBuilder for constructing a shared_ptr<ucxx::RequestAm>.
Definition
request_am_builder.h:106
Generated by
1.18.0