libucxx  0.37.00
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(std::shared_ptr<Context> context,
64  const size_t size,
65  void* buffer = nullptr);
66 
67 std::shared_ptr<RemoteKey> createRemoteKeyFromMemoryHandle(
68  std::shared_ptr<MemoryHandle> memoryHandle);
69 
70 std::shared_ptr<RemoteKey> createRemoteKeyFromSerialized(std::shared_ptr<Endpoint> endpoint,
71  SerializedRemoteKey serializedRemoteKey);
72 
73 // Transfers
74 std::shared_ptr<RequestAm> createRequestAm(
75  std::shared_ptr<Endpoint> endpoint,
76  const std::variant<data::AmSend, data::AmReceive> requestData,
77  const bool enablePythonFuture,
78  RequestCallbackUserFunction callbackFunction,
79  RequestCallbackUserData callbackData);
80 
81 std::shared_ptr<RequestEndpointClose> createRequestEndpointClose(
82  std::shared_ptr<Endpoint> endpoint,
83  const data::EndpointClose requestData,
84  const bool enablePythonFuture,
85  RequestCallbackUserFunction callbackFunction,
86  RequestCallbackUserData callbackData);
87 
88 std::shared_ptr<RequestFlush> createRequestFlush(std::shared_ptr<Component> endpointOrWorker,
89  const data::Flush requestData,
90  const bool enablePythonFuture,
91  RequestCallbackUserFunction callbackFunction,
92  RequestCallbackUserData callbackData);
93 
94 std::shared_ptr<RequestStream> createRequestStream(
95  std::shared_ptr<Endpoint> endpoint,
96  const std::variant<data::StreamSend, data::StreamReceive> requestData,
97  const bool enablePythonFuture);
98 
99 std::shared_ptr<RequestTag> createRequestTag(
100  std::shared_ptr<Component> endpointOrWorker,
101  const std::variant<data::TagSend, data::TagReceive> requestData,
102  const bool enablePythonFuture,
103  RequestCallbackUserFunction callbackFunction,
104  RequestCallbackUserData callbackData);
105 
106 std::shared_ptr<RequestMem> createRequestMem(
107  std::shared_ptr<Endpoint> endpoint,
108  const std::variant<data::MemPut, data::MemGet> requestData,
109  const bool enablePythonFuture,
110  RequestCallbackUserFunction callbackFunction,
111  RequestCallbackUserData callbackData);
112 
113 std::shared_ptr<RequestTagMulti> createRequestTagMulti(
114  std::shared_ptr<Endpoint> endpoint,
115  const std::variant<data::TagMultiSend, data::TagMultiReceive> requestData,
116  const bool enablePythonFuture);
117 
118 } // 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< 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< MemoryHandle > createMemoryHandle(std::shared_ptr< Context > context, const size_t size, void *buffer=nullptr)
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)