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 std::shared_ptr<Address> createAddressFromWorker(std::shared_ptr<Worker> worker);
36 
37 std::shared_ptr<Address> createAddressFromString(std::string addressString);
38 
39 std::shared_ptr<Context> createContext(const ConfigMap ucxConfig, const uint64_t featureFlags);
40 
41 std::shared_ptr<Endpoint> createEndpointFromHostname(std::shared_ptr<Worker> worker,
42  std::string ipAddress,
43  uint16_t port,
44  bool endpointErrorHandling);
45 
46 std::shared_ptr<Endpoint> createEndpointFromConnRequest(std::shared_ptr<Listener> listener,
47  ucp_conn_request_h connRequest,
48  bool endpointErrorHandling);
49 
50 std::shared_ptr<Endpoint> createEndpointFromWorkerAddress(std::shared_ptr<Worker> worker,
51  std::shared_ptr<Address> address,
52  bool endpointErrorHandling);
53 
54 std::shared_ptr<Listener> createListener(std::shared_ptr<Worker> worker,
55  uint16_t port,
56  ucp_listener_conn_callback_t callback,
57  void* callbackArgs);
58 
59 std::shared_ptr<Worker> createWorker(std::shared_ptr<Context> context,
60  const bool enableDelayedSubmission,
61  const bool enableFuture);
62 
63 std::shared_ptr<MemoryHandle> createMemoryHandle(
64  std::shared_ptr<Context> context,
65  const size_t size,
66  void* buffer = nullptr,
67  const ucs_memory_type_t memoryType = UCS_MEMORY_TYPE_HOST);
68 
69 std::shared_ptr<RemoteKey> createRemoteKeyFromMemoryHandle(
70  std::shared_ptr<MemoryHandle> memoryHandle);
71 
72 std::shared_ptr<RemoteKey> createRemoteKeyFromSerialized(std::shared_ptr<Endpoint> endpoint,
73  SerializedRemoteKey serializedRemoteKey);
74 
75 // Transfers
76 std::shared_ptr<RequestAm> createRequestAm(
77  std::shared_ptr<Endpoint> endpoint,
78  const std::variant<data::AmSend, data::AmReceive> requestData,
79  const bool enablePythonFuture,
80  RequestCallbackUserFunction callbackFunction,
81  RequestCallbackUserData callbackData);
82 
83 std::shared_ptr<RequestEndpointClose> createRequestEndpointClose(
84  std::shared_ptr<Endpoint> endpoint,
85  const data::EndpointClose requestData,
86  const bool enablePythonFuture,
87  RequestCallbackUserFunction callbackFunction,
88  RequestCallbackUserData callbackData);
89 
90 std::shared_ptr<RequestFlush> createRequestFlush(std::shared_ptr<Component> endpointOrWorker,
91  const data::Flush requestData,
92  const bool enablePythonFuture,
93  RequestCallbackUserFunction callbackFunction,
94  RequestCallbackUserData callbackData);
95 
96 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 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 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 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:89
std::shared_ptr< void > RequestCallbackUserData
Data for the user-defined function provided to the ucxx::Request callback.
Definition: typedefs.h:97
std::unordered_map< std::string, std::string > ConfigMap
A UCP configuration map.
Definition: typedefs.h:81
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)