Class DomainManager

Class Documentation

class DomainManager

Creates fabric, listen domain, and send domain.

Public Functions

explicit DomainManager(const NetworkConfig &config, const EndPointAddress &address, EndpointRole role)

Constructs a DomainManager object.

Gets constructed the first time a connection is requested to detect what technology can be used.

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

  • role – Whether the domain is initialised for an active or passive endpoint

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