RDMA++
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
rdmapp::pd Class Reference

This class is an abstraction of a Protection Domain. More...

#include <rdmapp/pd.h>

Inheritance diagram for rdmapp::pd:
Inheritance graph
[legend]
Collaboration diagram for rdmapp::pd:
Collaboration graph
[legend]

Public Member Functions

 pd (std::shared_ptr< device > device)
 Construct a new pd object.
 
std::shared_ptr< devicedevice_ptr () const
 Get the device object pointer.
 
local_mr reg_mr (void *addr, size_t length, int flags=IBV_ACCESS_LOCAL_WRITE|IBV_ACCESS_REMOTE_WRITE|IBV_ACCESS_REMOTE_READ|IBV_ACCESS_REMOTE_ATOMIC)
 Register a local memory region.
 
 ~pd ()
 Destroy the pd object and the associated protection domain.
 
- Public Member Functions inherited from rdmapp::noncopyable
 noncopyable (noncopyable &&)=default
 
 noncopyable (noncopyable const &)=delete
 
noncopyableoperator= (noncopyable const &)=delete
 
noncopyableoperator= (noncopyable &&)=default
 

Friends

class qp
 
class srq
 

Detailed Description

This class is an abstraction of a Protection Domain.

Constructor & Destructor Documentation

◆ pd()

rdmapp::pd::pd ( std::shared_ptr< device device)

Construct a new pd object.

Parameters
deviceThe device to use.

Member Function Documentation

◆ device_ptr()

std::shared_ptr< device > rdmapp::pd::device_ptr ( ) const

Get the device object pointer.

Returns
std::shared_ptr<device> The device object pointer.

◆ reg_mr()

local_mr rdmapp::pd::reg_mr ( void *  addr,
size_t  length,
int  flags = IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE | IBV_ACCESS_REMOTE_READ | IBV_ACCESS_REMOTE_ATOMIC 
)

Register a local memory region.

Parameters
addrThe address of the memory region.
lengthThe length of the memory region.
flagsThe access flags to use.
Returns
local_mr The local memory region handle.

The documentation for this class was generated from the following files: