diff options
Diffstat (limited to 'cpp/src/qpid/sys/rdma/RdmaIO.cpp')
-rw-r--r-- | cpp/src/qpid/sys/rdma/RdmaIO.cpp | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/cpp/src/qpid/sys/rdma/RdmaIO.cpp b/cpp/src/qpid/sys/rdma/RdmaIO.cpp index 3fb4395660..a72ed12af7 100644 --- a/cpp/src/qpid/sys/rdma/RdmaIO.cpp +++ b/cpp/src/qpid/sys/rdma/RdmaIO.cpp @@ -63,11 +63,8 @@ namespace Rdma { // Prepost recv buffers before we go any further qp->allocateRecvBuffers(recvBufferCount, bufferSize); - for (int i = 0; i<xmitBufferCount; ++i) { - // Allocate xmit buffer - Buffer* b = qp->createBuffer(bufferSize); - bufferQueue.push_front(b); - } + // Create xmit buffers + qp->createSendBuffers(xmitBufferCount, bufferSize); } AsynchIO::~AsynchIO() { @@ -427,10 +424,7 @@ namespace Rdma { } } else { ++sendEvents; - { - qpid::sys::ScopedLock<qpid::sys::Mutex> l(bufferQueueLock); - bufferQueue.push_front(b); - } + returnBuffer(b); --outstandingWrites; } } while (true); @@ -480,19 +474,6 @@ namespace Rdma { nc(*this); } - Buffer* AsynchIO::getBuffer() { - qpid::sys::ScopedLock<qpid::sys::Mutex> l(bufferQueueLock); - assert(!bufferQueue.empty()); - Buffer* b = bufferQueue.front(); - bufferQueue.pop_front(); - return b; - } - - void AsynchIO::returnBuffer(Buffer* b) { - qpid::sys::ScopedLock<qpid::sys::Mutex> l(bufferQueueLock); - bufferQueue.push_front(b); - } - ConnectionManager::ConnectionManager( ErrorCallback errc, DisconnectedCallback dc |