Class DomainManager
Defined in File DomainManager.hpp
Class Documentation
-
class DomainManager
Creates fabric, listen domain, and send domain.
Public Functions
-
explicit DomainManager(const NetworkConfig &config, const EndPointAddress &address, std::uint64_t flags)
Constructs a DomainManager object.
Gets constructed the first time a connection is requested to detect what technology can be used.
If a listen endpoint is passed the flag need to be set to FI_SOURCE.
Warning
If an endpoint is passed which does not support RDMA, all following connections will be unable to use that.
- Throws:
LibfabricDomainError – in case of a libfabric error
- Parameters:
config – The network config including mode and shared receive buffers
address – The endpoint address
flags – The flags (nothing of FI_SOURCE for listen endpoints)
-
inline const fid_fabric *get_fabric() const
Get the fabric.
- Returns:
A constant pointer for const objects, non const otherwise
-
inline fid_fabric *get_fabric()
-
inline const fid_domain *get_domain() const
Get the domain.
- Returns:
A constant reference for const objects, non const otherwise
-
inline fid_domain *get_domain()
-
inline const fi_info *get_info() const
Get the fabric info.
- Returns:
A constant reference for const objects
-
std::uint64_t get_next_mr_key()
Get the next memory region key.
Some providers need unique memory region keys for each buffer. This key is not to be confused with the key provided on the send_complete callback.
- Returns:
The next memory region key
-
explicit DomainManager(const NetworkConfig &config, const EndPointAddress &address, std::uint64_t flags)