summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2010-06-14 14:50:33 +0000
committerAndrew Stitcher <astitcher@apache.org>2010-06-14 14:50:33 +0000
commite5cdd98d3765bf41a9a6bbcb72470a8077a43a64 (patch)
tree1b9e9356e2582b43e66e8d845f7f2752b325f79d /cpp/src/qpid/client
parent227246d4d1052242396fa08682da1ffc40f684a2 (diff)
downloadqpid-python-e5cdd98d3765bf41a9a6bbcb72470a8077a43a64.tar.gz
Combine Rdma::Buffer and ibv_sge needed to send it
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954496 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client')
-rw-r--r--cpp/src/qpid/client/RdmaConnector.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/cpp/src/qpid/client/RdmaConnector.cpp b/cpp/src/qpid/client/RdmaConnector.cpp
index 624f457d8d..3b4e87ddbd 100644
--- a/cpp/src/qpid/client/RdmaConnector.cpp
+++ b/cpp/src/qpid/client/RdmaConnector.cpp
@@ -326,10 +326,9 @@ void RdmaConnector::writebuff(Rdma::AsynchIO&) {
Codec* codec = securityLayer.get() ? (Codec*) securityLayer.get() : (Codec*) this;
if (codec->canEncode()) {
std::auto_ptr<BufferBase> buffer = std::auto_ptr<BufferBase>(aio->getBuffer());
- size_t encoded = codec->encode(buffer->bytes, buffer->byteCount);
+ size_t encoded = codec->encode(buffer->bytes(), buffer->byteCount());
- buffer->dataStart = 0;
- buffer->dataCount = encoded;
+ buffer->dataCount(encoded);
aio->queueWrite(buffer.release());
}
}
@@ -362,7 +361,7 @@ size_t RdmaConnector::encode(const char* buffer, size_t size)
void RdmaConnector::readbuff(Rdma::AsynchIO&, Rdma::Buffer* buff) {
Codec* codec = securityLayer.get() ? (Codec*) securityLayer.get() : (Codec*) this;
- codec->decode(buff->bytes+buff->dataStart, buff->dataCount);
+ codec->decode(buff->bytes(), buff->dataCount());
}
size_t RdmaConnector::decode(const char* buffer, size_t size)
@@ -386,9 +385,9 @@ size_t RdmaConnector::decode(const char* buffer, size_t size)
void RdmaConnector::writeDataBlock(const AMQDataBlock& data) {
Rdma::Buffer* buff = aio->getBuffer();
- framing::Buffer out(buff->bytes, buff->byteCount);
+ framing::Buffer out(buff->bytes(), buff->byteCount());
data.encode(out);
- buff->dataCount = data.encodedSize();
+ buff->dataCount(data.encodedSize());
aio->queueWrite(buff);
}