Author: gsim
Date: Wed Mar 26 05:14:18 2008
New Revision: 641281
URL: http://svn.apache.org/viewvc?rev=641281&view=rev
Log:
Re-enable the establishment of inter-broker links.
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionFactory.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.h
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.cpp
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.h
incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOAcceptor.cpp
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionFactory.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionFactory.cpp?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionFactory.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionFactory.cpp Wed Mar
26 05:14:18 2008
@@ -43,8 +43,11 @@
sys::ConnectionCodec*
ConnectionFactory::create(sys::OutputControl& out, const std::string& id) {
- // FIXME aconway 2008-03-18:
- return new PreviewConnectionCodec(out, broker, id);
+ // FIXME aconway 2008-03-18:
+
+ // gsim 2008-03-26 this seems only to be used when creating
+ // connections from one broker to another
+ return new PreviewConnectionCodec(out, broker, id, true);
}
}} // namespace qpid::broker
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.cpp?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.cpp Wed Mar
26 05:14:18 2008
@@ -85,17 +85,12 @@
};
-PreviewConnection::PreviewConnection(ConnectionOutputHandler* out_, Broker&
broker_, const std::string& mgmtId_) :
+PreviewConnection::PreviewConnection(ConnectionOutputHandler* out_, Broker&
broker_, const std::string& mgmtId_, bool isLink) :
ConnectionState(out_, broker_),
- adapter(*this),
+ adapter(*this, isLink),
mgmtClosing(0),
mgmtId(mgmtId_)
{
- initMgmt();
-}
-
-void PreviewConnection::initMgmt(bool asLink)
-{
Manageable* parent = broker.GetVhostObject ();
if (parent != 0)
@@ -104,7 +99,7 @@
if (agent.get () != 0)
{
- if (asLink) {
+ if (isLink) {
mgmtWrapper = std::auto_ptr<MgmtWrapper>(new MgmtLink(this,
parent, agent, mgmtId));
} else {
mgmtWrapper = std::auto_ptr<MgmtWrapper>(new MgmtClient(this,
parent, agent, mgmtId));
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.h?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnection.h Wed Mar
26 05:14:18 2008
@@ -53,7 +53,7 @@
class PreviewConnection : public sys::ConnectionInputHandler, public
ConnectionState
{
public:
- PreviewConnection(sys::ConnectionOutputHandler* out, Broker& broker, const
std::string& mgmtId);
+ PreviewConnection(sys::ConnectionOutputHandler* out, Broker& broker, const
std::string& mgmtId, bool isLink = false);
~PreviewConnection ();
/** Get the PreviewSessionHandler for channel. Create if it does not
already exist */
@@ -76,7 +76,6 @@
management::Manageable::status_t
ManagementMethod (uint32_t methodId, management::Args& args);
- void initMgmt(bool asLink = false);
private:
typedef boost::ptr_map<framing::ChannelId, PreviewSessionHandler>
ChannelMap;
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.cpp?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.cpp
Wed Mar 26 05:14:18 2008
@@ -26,8 +26,8 @@
using sys::Mutex;
-PreviewConnectionCodec::PreviewConnectionCodec(sys::OutputControl& o, Broker&
broker, const std::string& id)
- : frameQueueClosed(false), output(o), connection(this, broker, id),
identifier(id) {}
+PreviewConnectionCodec::PreviewConnectionCodec(sys::OutputControl& o, Broker&
broker, const std::string& id, bool isClient)
+ : frameQueueClosed(false), output(o), connection(this, broker, id,
isClient), identifier(id) {}
size_t PreviewConnectionCodec::decode(const char* buffer, size_t size) {
framing::Buffer in(const_cast<char*>(buffer), size);
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.h?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.h
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionCodec.h Wed
Mar 26 05:14:18 2008
@@ -38,7 +38,7 @@
std::string identifier;
public:
- PreviewConnectionCodec(sys::OutputControl&, Broker&, const std::string&
id);
+ PreviewConnectionCodec(sys::OutputControl&, Broker&, const std::string&
id, bool isClient = false);
size_t decode(const char* buffer, size_t size);
size_t encode(const char* buffer, size_t size);
bool isClosed() const;
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.cpp?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.cpp
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.cpp
Wed Mar 26 05:14:18 2008
@@ -60,12 +60,16 @@
}
}
-PreviewConnectionHandler::PreviewConnectionHandler(PreviewConnection&
connection) : handler(new Handler(connection)) {
+PreviewConnectionHandler::PreviewConnectionHandler(PreviewConnection&
connection, bool isClient) : handler(new Handler(connection)) {
FieldTable properties;
string mechanisms(PLAIN);
string locales(en_US);
- handler->serverMode = true;
- handler->client.start(0, 10, properties, mechanisms, locales);
+ if (isClient) {
+ handler->serverMode = false;
+ }else {
+ handler->serverMode = true;
+ handler->client.start(99, 0, properties, mechanisms, locales);
+ }
}
PreviewConnectionHandler::Handler:: Handler(PreviewConnection& c) :
client(c.getOutput()), server(c.getOutput()),
@@ -128,7 +132,6 @@
string pwd = "qpidd";
string response = ((char)0) + uid + ((char)0) + pwd;
server.startOk(FieldTable(), PLAIN, response, en_US);
- connection.initMgmt(true);
}
void PreviewConnectionHandler::Handler::secure(const string& /*challenge*/)
Modified:
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.h
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.h?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.h
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/PreviewConnectionHandler.h
Wed Mar 26 05:14:18 2008
@@ -80,7 +80,7 @@
};
std::auto_ptr<Handler> handler;
public:
- PreviewConnectionHandler(PreviewConnection& connection);
+ PreviewConnectionHandler(PreviewConnection& connection, bool isClient);
void close(framing::ReplyCode code, const std::string& text,
framing::ClassId classId, framing::MethodId methodId);
void handle(framing::AMQFrame& frame);
};
Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOAcceptor.cpp
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOAcceptor.cpp?rev=641281&r1=641280&r2=641281&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOAcceptor.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOAcceptor.cpp Wed Mar 26
05:14:18 2008
@@ -211,7 +211,7 @@
void AsynchIOHandler::write(const framing::ProtocolInitiation& data)
{
- QPID_LOG(debug, "SENT [" << identifier << "] INIT( " << data << ")");
+ QPID_LOG(debug, "SENT [" << identifier << "] INIT(" << data << ")");
AsynchIO::BufferBase* buff = aio->getQueuedBuffer();
if (!buff)
buff = new Buff;
@@ -244,7 +244,7 @@
framing::ProtocolInitiation protocolInit;
if (protocolInit.decode(in)) {
decoded = in.getPosition();
- QPID_LOG(debug, "RECV [" << identifier << "] INIT( " <<
protocolInit << ")");
+ QPID_LOG(debug, "RECV [" << identifier << "] INIT(" <<
protocolInit << ")");
codec = factory->create(protocolInit.getVersion(), *this,
identifier);
if (!codec) {
// FIXME aconway 2008-03-18: send valid version header & close
connection.