Program Listing for File SharedReceiveContext.hpp

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

#ifndef NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXT_HPP
#define NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXT_HPP

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

#include "Helpers.hpp"

namespace netio3::libfabric {
  class SharedReceiveContext
  {
  public:
    SharedReceiveContext(fid_domain* domain, const fi_info* info);

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

  private:
    FiCloseUniquePtr<fid_ep> m_srx_ctx{nullptr};
  };
}  // namespace netio3::libfabric

#endif  // NETIO3BACKEND_BACKENDLIBFABRIC_SHAREDRECEIVECONTEXT_HPP