All Classes Namespaces Functions Variables Typedefs Enumerations Friends
constructors.h
1 
5 #pragma once
6 
7 #include <memory>
8 #include <string>
9 
10 #include <ucxx/component.h>
11 #include <ucxx/request_data.h>
12 #include <ucxx/typedefs.h>
13 
14 namespace ucxx {
15 
16 class Address;
17 class Context;
18 class Endpoint;
19 class Future;
20 class Listener;
21 class MemoryHandle;
22 class Notifier;
23 class RemoteKey;
24 class Request;
25 class RequestAm;
26 class RequestEndpointClose;
27 class RequestFlush;
28 class RequestMem;
29 class RequestStream;
30 class RequestTag;
31 class RequestTagMulti;
32 class Worker;
33 
34 // Components
35 [[nodiscard]] std::shared_ptr<Address> createAddressFromWorker(std::shared_ptr<Worker> worker);
36 
37 [[nodiscard]] std::shared_ptr<Address> createAddressFromString(std::string addressString);
38 
39 [[nodiscard]] std::shared_ptr<Context> createContext(const ConfigMap ucxConfig,
40  const uint64_t featureFlags);
41 
42 [[nodiscard]] std::shared_ptr<Endpoint> createEndpointFromHostname(std::shared_ptr<Worker> worker,
43  std::string ipAddress,
44  uint16_t port,
45  bool endpointErrorHandling);
46 
47 [[nodiscard]] std::shared_ptr<Endpoint> createEndpointFromConnRequest(
48  std::shared_ptr<Listener> listener, ucp_conn_request_h connRequest, bool endpointErrorHandling);
49 
50 [[nodiscard]] std::shared_ptr<Endpoint> createEndpointFromWorkerAddress(
51  std::shared_ptr<Worker> worker, std::shared_ptr<Address> address, bool endpointErrorHandling);
52 
53 [[nodiscard]] std::shared_ptr<Listener> createListener(std::shared_ptr<Worker> worker,
54  uint16_t port,
55  ucp_listener_conn_callback_t callback,
56  void* callbackArgs);
57 
58 [[nodiscard]] std::shared_ptr<Worker> createWorker(std::shared_ptr<Context> context,
59  const bool enableDelayedSubmission,
60  const bool enableFuture);
61 
62 [[nodiscard]] std::shared_ptr<MemoryHandle> createMemoryHandle(
63  std::shared_ptr<Context> context,
64  const size_t size,
65  void* buffer = nullptr,
66  const ucs_memory_type_t memoryType = UCS_MEMORY_TYPE_HOST);
67 
68 [[nodiscard]] std::shared_ptr<RemoteKey> createRemoteKeyFromMemoryHandle(
69  std::shared_ptr<MemoryHandle> memoryHandle);
70 
71 [[nodiscard]] std::shared_ptr<RemoteKey> createRemoteKeyFromSerialized(
72  std::shared_ptr<Endpoint> endpoint, SerializedRemoteKey serializedRemoteKey);
73 
74 // Transfers
75 [[nodiscard]] std::shared_ptr<RequestAm> createRequestAm(
76  std::shared_ptr<Endpoint> endpoint,
77  const std::variant<data::AmSend, data::AmReceive> requestData,
78  const bool enablePythonFuture,
79  RequestCallbackUserFunction callbackFunction,
80  RequestCallbackUserData callbackData);
81 
82 [[nodiscard]] std::shared_ptr<RequestEndpointClose> createRequestEndpointClose(
83  std::shared_ptr<Endpoint> endpoint,
84  const data::EndpointClose requestData,
85  const bool enablePythonFuture,
86  RequestCallbackUserFunction callbackFunction,
87  RequestCallbackUserData callbackData);
88 
89 [[nodiscard]] 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 [[nodiscard]] std::shared_ptr<RequestStream> createRequestStream(
97  std::shared_ptr<Endpoint> endpoint,
98  const std::variant<data::StreamSend, data::StreamReceive> requestData,
99  const bool enablePythonFuture);
100 
101 [[nodiscard]] std::shared_ptr<RequestTag> createRequestTag(
102  std::shared_ptr<Component> endpointOrWorker,
103  const std::variant<data::TagSend, data::TagReceive> requestData,
104  const bool enablePythonFuture,
105  RequestCallbackUserFunction callbackFunction,
106  RequestCallbackUserData callbackData);
107 
108 [[nodiscard]] std::shared_ptr<RequestMem> createRequestMem(
109  std::shared_ptr<Endpoint> endpoint,
110  const std::variant<data::MemPut, data::MemGet> requestData,
111  const bool enablePythonFuture,
112  RequestCallbackUserFunction callbackFunction,
113  RequestCallbackUserData callbackData);
114 
115 [[nodiscard]] std::shared_ptr<RequestTagMulti> createRequestTagMulti(
116  std::shared_ptr<Endpoint> endpoint,
117  const std::variant<data::TagMultiSend, data::TagMultiReceive> requestData,
118  const bool enablePythonFuture);
119 
120 } // namespace ucxx
Data for an endpoint close operation.
Definition: request_data.h:81
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:103
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:111
std::unordered_map< std::string, std::string > ConfigMap
A UCP configuration map.
Definition: typedefs.h:95
std::shared_ptr< RequestMem > createRequestMem(std::shared_ptr< Endpoint > endpoint, const std::variant< data::MemPut, data::MemGet > requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
std::shared_ptr< RequestAm > createRequestAm(std::shared_ptr< Endpoint > endpoint, const std::variant< data::AmSend, data::AmReceive > requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
std::shared_ptr< Listener > createListener(std::shared_ptr< Worker > worker, uint16_t port, ucp_listener_conn_callback_t callback, void *callbackArgs)
std::shared_ptr< RemoteKey > createRemoteKeyFromMemoryHandle(std::shared_ptr< MemoryHandle > memoryHandle)
std::shared_ptr< RequestTagMulti > createRequestTagMulti(std::shared_ptr< Endpoint > endpoint, const std::variant< data::TagMultiSend, data::TagMultiReceive > requestData, const bool enablePythonFuture)
std::shared_ptr< Address > createAddressFromWorker(std::shared_ptr< Worker > worker)
std::shared_ptr< Worker > createWorker(std::shared_ptr< Context > context, const bool enableDelayedSubmission, const bool enableFuture)
std::shared_ptr< MemoryHandle > createMemoryHandle(std::shared_ptr< Context > context, const size_t size, void *buffer=nullptr, const ucs_memory_type_t memoryType=UCS_MEMORY_TYPE_HOST)
std::shared_ptr< Endpoint > createEndpointFromConnRequest(std::shared_ptr< Listener > listener, ucp_conn_request_h connRequest, bool endpointErrorHandling)
std::shared_ptr< RequestStream > createRequestStream(std::shared_ptr< Endpoint > endpoint, const std::variant< data::StreamSend, data::StreamReceive > requestData, const bool enablePythonFuture)
std::shared_ptr< RequestTag > createRequestTag(std::shared_ptr< Component > endpointOrWorker, const std::variant< data::TagSend, data::TagReceive > requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
std::shared_ptr< RequestEndpointClose > createRequestEndpointClose(std::shared_ptr< Endpoint > endpoint, const data::EndpointClose requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
std::shared_ptr< Endpoint > createEndpointFromWorkerAddress(std::shared_ptr< Worker > worker, std::shared_ptr< Address > address, bool endpointErrorHandling)
std::shared_ptr< Address > createAddressFromString(std::string addressString)
std::shared_ptr< RequestFlush > createRequestFlush(std::shared_ptr< Component > endpointOrWorker, const data::Flush requestData, const bool enablePythonFuture, RequestCallbackUserFunction callbackFunction, RequestCallbackUserData callbackData)
std::shared_ptr< Context > createContext(const ConfigMap ucxConfig, const uint64_t featureFlags)
std::shared_ptr< RemoteKey > createRemoteKeyFromSerialized(std::shared_ptr< Endpoint > endpoint, SerializedRemoteKey serializedRemoteKey)
std::shared_ptr< Endpoint > createEndpointFromHostname(std::shared_ptr< Worker > worker, std::string ipAddress, uint16_t port, bool endpointErrorHandling)