diff options
| author | Stephen D. Huston <shuston@apache.org> | 2010-01-23 00:16:34 +0000 |
|---|---|---|
| committer | Stephen D. Huston <shuston@apache.org> | 2010-01-23 00:16:34 +0000 |
| commit | 772484f911db95bbc0c1ac599ed72b2ee143bec0 (patch) | |
| tree | e5865eb45a96f31ae84027f44caed4baccda9f21 /cpp/src/qpid/client/TCPConnector.h | |
| parent | 1b489dec1ea09cde9365602befb49eb958a62cdd (diff) | |
| download | qpid-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/client/TCPConnector.h')
| -rw-r--r-- | cpp/src/qpid/client/TCPConnector.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/cpp/src/qpid/client/TCPConnector.h b/cpp/src/qpid/client/TCPConnector.h index 0de06de40c..6ca750f52f 100644 --- a/cpp/src/qpid/client/TCPConnector.h +++ b/cpp/src/qpid/client/TCPConnector.h @@ -76,19 +76,12 @@ class TCPConnector : public Connector, public sys::Codec boost::shared_ptr<sys::Poller> poller; std::auto_ptr<qpid::sys::SecurityLayer> securityLayer; - ~TCPConnector(); - void handleClosed(); bool closeInternal(); - void connected(const sys::Socket&); - void connectFailed(const std::string& msg); - bool readbuff(qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*); - void writebuff(qpid::sys::AsynchIO&); + virtual void connected(const sys::Socket&); void writeDataBlock(const framing::AMQDataBlock& data); - void eof(qpid::sys::AsynchIO&); - void connect(const std::string& host, int port); void close(); void send(framing::AMQFrame& frame); void abort(); @@ -105,6 +98,16 @@ class TCPConnector : public Connector, public sys::Codec size_t encode(const char* buffer, size_t size); bool canEncode(); +protected: + virtual ~TCPConnector(); + void connect(const std::string& host, int port); + void start(sys::AsynchIO* aio_); + void initAmqp(); + virtual void connectFailed(const std::string& msg); + bool readbuff(qpid::sys::AsynchIO&, qpid::sys::AsynchIOBufferBase*); + void writebuff(qpid::sys::AsynchIO&); + void eof(qpid::sys::AsynchIO&); + public: TCPConnector(boost::shared_ptr<sys::Poller>, framing::ProtocolVersion pVersion, |
