summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/sys/windows/AsynchIO.cpp
diff options
context:
space:
mode:
authorStephen D. Huston <shuston@apache.org>2010-01-23 00:16:34 +0000
committerStephen D. Huston <shuston@apache.org>2010-01-23 00:16:34 +0000
commit772484f911db95bbc0c1ac599ed72b2ee143bec0 (patch)
treee5865eb45a96f31ae84027f44caed4baccda9f21 /cpp/src/qpid/sys/windows/AsynchIO.cpp
parent1b489dec1ea09cde9365602befb49eb958a62cdd (diff)
downloadqpid-python-772484f911db95bbc0c1ac599ed72b2ee143bec0.tar.gz
Add SSL support for Windows client and broker per QPID-1403. Adds new AsynchIO::BufferBase::squish() method that does what used to be done by in-place memmove() calls so it can be reused easily.
SSL support for Windows is in: - Client: qpid/client/windows/SslConnector.cpp qpid/client/TCPConnector.{h cpp} rearranged a bit to make pieces available to SslConnector - Broker: qpid/broker/windows/SslProtocolFactory.cpp - Common: qpid/sys/windows/SslAsynchIO contains all the Schannel stuff to negotiate a session, encrypt, and decrypt data. The SslAsynchIO acts as a shim between the layer above and the "regular" AsynchIO that actually handles read/write and completions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@902318 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/sys/windows/AsynchIO.cpp')
-rw-r--r--cpp/src/qpid/sys/windows/AsynchIO.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/cpp/src/qpid/sys/windows/AsynchIO.cpp b/cpp/src/qpid/sys/windows/AsynchIO.cpp
index 96e7ee57c0..c55d34e875 100644
--- a/cpp/src/qpid/sys/windows/AsynchIO.cpp
+++ b/cpp/src/qpid/sys/windows/AsynchIO.cpp
@@ -204,7 +204,6 @@ void AsynchConnector::start(Poller::shared_ptr)
if (failCallback)
failCallback(socket, -1, std::string(e.what()));
socket.close();
- delete &socket;
}
}
@@ -428,10 +427,7 @@ void AsynchIO::queueReadBuffer(AsynchIO::BufferBase* buff) {
void AsynchIO::unread(AsynchIO::BufferBase* buff) {
assert(buff);
- if (buff->dataStart != 0) {
- memmove(buff->bytes, buff->bytes+buff->dataStart, buff->dataCount);
- buff->dataStart = 0;
- }
+ buff->squish();
QLock l(bufferQueueLock);
bufferQueue.push_front(buff);
}