Author: astitcher
Date: Wed Jun 3 13:52:44 2009
New Revision: 781376
URL: http://svn.apache.org/viewvc?rev=781376&view=rev
Log:
Revert "QPID-1879 Removed some code obsoleted by this change"
This reverts commit 60d66cae76b2bea90f076875e35cb69049fb2d3a.
Modified:
qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp
qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp
qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp
Modified: qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp?rev=781376&r1=781375&r2=781376&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Connector.cpp Wed Jun 3 13:52:44 2009
@@ -40,6 +40,7 @@
#include <deque>
#include <boost/bind.hpp>
#include <boost/format.hpp>
+#include <boost/weak_ptr.hpp>
namespace qpid {
namespace client {
@@ -100,6 +101,7 @@
framing::ProtocolVersion version;
bool initiated;
bool closed;
+ bool joined;
sys::ShutdownHandler* shutdownHandler;
framing::InputHandler* input;
@@ -123,6 +125,8 @@
void writeDataBlock(const framing::AMQDataBlock& data);
void eof(qpid::sys::AsynchIO&);
+ boost::weak_ptr<ConnectionImpl> impl;
+
void connect(const std::string& host, int port);
void init();
void close();
@@ -176,9 +180,11 @@
version(ver),
initiated(false),
closed(true),
+ joined(true),
shutdownHandler(0),
aio(0),
- poller(p)
+ poller(p),
+ impl(cimpl->shared_from_this())
{
QPID_LOG(debug, "TCPConnector created for " << version.toString());
settings.configureSocket(socket);
@@ -211,8 +217,10 @@
void TCPConnector::init(){
Mutex::ScopedLock l(lock);
+ assert(joined);
ProtocolInitiation init(version);
writeDataBlock(init);
+ joined = false;
for (int i = 0; i < 32; i++) {
aio->queueReadBuffer(new Buff(maxFrameSize));
}
Modified: qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp?rev=781376&r1=781375&r2=781376&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/RdmaConnector.cpp Wed Jun 3 13:52:44
2009
@@ -68,6 +68,7 @@
sys::Mutex pollingLock;
bool polling;
+ bool joined;
sys::ShutdownHandler* shutdownHandler;
framing::InputHandler* input;
@@ -147,6 +148,7 @@
version(ver),
initiated(false),
polling(false),
+ joined(true),
shutdownHandler(0),
aio(0),
poller(p),
@@ -162,6 +164,7 @@
void RdmaConnector::connect(const std::string& host, int port){
Mutex::ScopedLock l(pollingLock);
assert(!polling);
+ assert(joined);
// This stuff needs to abstracted out of here to a platform specific file
::addrinfo *res;
@@ -185,6 +188,7 @@
c->start(poller);
polling = true;
+ joined = false;
}
// The following only gets run when connected
Modified: qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp?rev=781376&r1=781375&r2=781376&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/SslConnector.cpp Wed Jun 3 13:52:44
2009
@@ -89,6 +89,7 @@
sys::Mutex closedLock;
bool closed;
+ bool joined;
sys::ShutdownHandler* shutdownHandler;
framing::InputHandler* input;
@@ -114,6 +115,8 @@
std::string identifier;
+ ConnectionImpl* impl;
+
void connect(const std::string& host, int port);
void init();
void close();
@@ -171,10 +174,12 @@
version(ver),
initiated(false),
closed(true),
+ joined(true),
shutdownHandler(0),
writer(maxFrameSize, cimpl),
aio(0),
- poller(p)
+ poller(p),
+ impl(cimpl)
{
QPID_LOG(debug, "SslConnector created for " << version.toString());
//TODO: how do we want to handle socket configuration with ssl?
@@ -209,8 +214,10 @@
void SslConnector::init(){
Mutex::ScopedLock l(closedLock);
+ assert(joined);
ProtocolInitiation init(version);
writeDataBlock(init);
+ joined = false;
for (int i = 0; i < 32; i++) {
aio->queueReadBuffer(new Buff(maxFrameSize));
}
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]