All Classes Namespaces Functions Variables Typedefs Enumerations Friends
config.h
1 
5 #pragma once
6 
7 #include <ucp/api/ucp.h>
8 
9 #include <ucxx/typedefs.h>
10 
11 namespace ucxx {
12 
19 class Config {
20  private:
21  ucp_config_t* _handle{nullptr};
22  ConfigMap _configMap;
23 
33  void readUCXConfig(ConfigMap userOptions);
34 
43  [[nodiscard]] ConfigMap ucxConfigToMap();
44 
45  public:
46  Config() = delete;
47  Config(const Config&) = delete;
48  Config& operator=(Config const&) = delete;
49  Config(Config&& o) = delete;
50  Config& operator=(Config&& o) = delete;
51 
61  explicit Config(ConfigMap userOptions);
62 
63  ~Config();
64 
73  [[nodiscard]] ConfigMap get();
74 
90  [[nodiscard]] ucp_config_t* getHandle();
91 };
92 
93 } // namespace ucxx
Component encapsulating the UCP configuration.
Definition: config.h:19
ConfigMap get()
Get the configuration map.
Config(ConfigMap userOptions)
Constructor that reads the UCX configuration and apply user options.
ucp_config_t * getHandle()
Get the underlying ucp_config_t* handle.
Definition: address.h:15
std::unordered_map< std::string, std::string > ConfigMap
A UCP configuration map.
Definition: typedefs.h:81