Class SharedBufferManager

Class Documentation

class SharedBufferManager

Creates fabric, listen domain, and send domain.

Public Functions

explicit SharedBufferManager(const NetworkConfig &config, DomainManager &domain_manager, BaseEventLoop *event_loop)

Constructs a SharedBufferManager object.

If requested by the config, a shared receive context manager, a shared send buffer manager, and a zero-copy buffer manager are created to manage instance-wide shared buffers.

Throws:

LibfabricDomainError – in case of a libfabric error

Parameters:
  • config – The network config including mode and shared receive buffers

  • domain_manager – The domain manager

  • event_loop – The event loop

inline const std::optional<SharedReceiveContextManager> &get_receive_context_manager() const

Get the shared receive context manager.

Returns:

An optional SharedReceiveContextManager object

inline std::optional<SharedReceiveContextManager> &get_receive_context_manager()
inline const std::optional<SendBufferManager> &get_send_buffer_manager() const

Get the send buffer manager.

Returns:

An optional SendBufferManager object

inline std::optional<SendBufferManager> &get_send_buffer_manager()
inline const std::optional<ZeroCopyBufferManager> &get_zero_copy_buffer_manager() const

Get the zero-copy header manager.

Returns:

An optional ZeroCopyBufferManager object

inline std::optional<ZeroCopyBufferManager> &get_zero_copy_buffer_manager()