return it->second.second;
}
-Infiniband::QueuePair* RDMADispatcher::get_qp(uint32_t qp)
+Infiniband::QueuePair* RDMADispatcher::get_qp_lockless(uint32_t qp)
{
- std::lock_guard l{lock};
// Try to find the QP in qp_conns firstly.
auto it = qp_conns.find(qp);
if (it != qp_conns.end())
return nullptr;
}
+Infiniband::QueuePair* RDMADispatcher::get_qp(uint32_t qp)
+{
+ std::lock_guard l{lock};
+ return get_qp_lockless(qp);
+}
+
void RDMADispatcher::erase_qpn_lockless(uint32_t qpn)
{
auto it = qp_conns.find(qpn);
++num_pending_workers;
}
RDMAConnectedSocketImpl* get_conn_lockless(uint32_t qp);
+ QueuePair* get_qp_lockless(uint32_t qp);
QueuePair* get_qp(uint32_t qp);
void erase_qpn_lockless(uint32_t qpn);
void erase_qpn(uint32_t qpn);