libucxx  0.37.00
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 
35  ucp_config_t* readUCXConfig(ConfigMap userOptions);
36 
45  ConfigMap ucxConfigToMap();
46 
47  public:
48  Config() = delete;
49  Config(const Config&) = delete;
50  Config& operator=(Config const&) = delete;
51  Config(Config&& o) = delete;
52  Config& operator=(Config&& o) = delete;
53 
63  explicit Config(ConfigMap userOptions);
64 
65  ~Config();
66 
76 
92  ucp_config_t* getHandle();
93 };
94 
95 } // 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