summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/rdma/RdmaIO.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/sys/rdma/RdmaIO.cpp')
-rw-r--r--cpp/src/qpid/sys/rdma/RdmaIO.cpp25
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