Program Listing for File SharedReceiveContextManager.hpp

Return to documentation for file (BackendLibfabric/SharedReceiveContextManager.hpp)

#ifndef NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXTMANAGER_HPP
#define NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXTMANAGER_HPP

#include <rdma/fi_domain.h>
#include <rdma/fi_endpoint.h>

#include "ReceiveBufferManager.hpp"
#include "SharedReceiveContext.hpp"

namespace netio3::libfabric {
  class SharedReceiveContextManager
  {
  public:
    SharedReceiveContextManager(DomainManager& domain_manager,
                                const ConnectionParametersRecv& conn_params,
                                const fi_info* info,
                                BaseEventLoop* event_loop);

    [[nodiscard]] ReceiveBufferManager* get_buffer_manager() { return &m_buffer_manager; }

    [[nodiscard]] fid_ep* get_srx_context() { return m_srx_ctx.get(); }

  private:
    SharedReceiveContext m_srx_ctx;
    ReceiveBufferManager m_buffer_manager;
  };
}  // namespace netio3::libfabric

#endif  // NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXTMANAGER_HPP