delete async_handler;
}
-RDMADispatcher::RDMADispatcher(CephContext* c, RDMAStack* s, shared_ptr<Infiniband>& ib)
- : cct(c), ib(ib), async_handler(new C_handle_cq_async(this)),
- stack(s)
+RDMADispatcher::RDMADispatcher(CephContext* c, shared_ptr<Infiniband>& ib)
+ : cct(c), ib(ib), async_handler(new C_handle_cq_async(this))
{
PerfCountersBuilder plb(cct, "AsyncMessenger::RDMADispatcher", l_msgr_rdma_dispatcher_first, l_msgr_rdma_dispatcher_last);
}
RDMAStack::RDMAStack(CephContext *cct, const string &t)
- : NetworkStack(cct, t), ib(make_shared<Infiniband>(cct)), dispatcher(cct, this, ib)
+ : NetworkStack(cct, t), ib(make_shared<Infiniband>(cct)), dispatcher(cct, ib)
{
ldout(cct, 20) << __func__ << " constructing RDMAStack..." << dendl;
ceph::make_mutex("RDMADispatcher::for worker pending list");
// fixme: lockfree
std::list<RDMAWorker*> pending_workers;
- RDMAStack* stack;
class C_handle_cq_async : public EventCallback {
RDMADispatcher *dispatcher;
public:
PerfCounters *perf_logger;
- explicit RDMADispatcher(CephContext* c, RDMAStack* s, shared_ptr<Infiniband>& ib);
+ explicit RDMADispatcher(CephContext* c, shared_ptr<Infiniband>& ib);
virtual ~RDMADispatcher();
void handle_async_event();
pending_workers.push_back(w);
++num_pending_workers;
}
- RDMAStack* get_stack() { return stack; }
RDMAConnectedSocketImpl* get_conn_lockless(uint32_t qp);
QueuePair* get_qp(uint32_t qp);
void erase_qpn_lockless(uint32_t qpn);