14 #ifndef VERBS_MemoryPool
15 #define VERBS_MemoryPool
17 #ifndef DABC_MemoryPool
46 bool without_wr =
false);
52 return fReg() ?
fReg()->GetLkey(
id) : 0;
55 struct ibv_recv_wr*
GetRecvWR(
unsigned id);
56 struct ibv_send_wr*
GetSendWR(
unsigned id, uint64_t size);
void ReleaseRawBuffer(unsigned indx)
Release raw buffer, allocated before by TakeRawBuffer.
bool TakeRawBuffer(unsigned &indx)
Reserve raw buffer without creating Buffer instance.
Reference to verbs::Context
Special memory pool, which automatically includes PoolRegistry.
struct ibv_send_wr * GetSendWR(unsigned id, uint64_t size)
void * GetSendBufferLocation(unsigned id)
void ReleaseRawBuffer(unsigned indx)
Release raw buffer, allocated before by TakeRawBuffer.
MemoryPool(ContextRef ctx, const char *name, int32_t number, int64_t bufsize, bool isud, bool without_wr=false)
struct ibv_recv_wr * GetRecvWR(unsigned id)
struct ibv_recv_wr * f_rwr
unsigned fSendBufferOffset
bool TakeRawBuffer(unsigned &indx)
struct ibv_send_wr * f_swr
uint32_t GetLkey(unsigned id)
Reference on verbs::PoolRegistry
Support of InfiniBand verbs.