Author: tross
Date: Fri Jun 15 19:25:59 2012
New Revision: 1350746
URL: http://svn.apache.org/viewvc?rev=1350746&view=rev
Log:
QPID-4070 - Minor internal-api changes for LinkRegistry and Bridge (in
qpid::broker)
Modified:
qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h
qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.h
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp?rev=1350746&r1=1350745&r2=1350746&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp Fri Jun 15 19:25:59 2012
@@ -59,12 +59,13 @@ void Bridge::PushHandler::handle(framing
Bridge::Bridge(const std::string& _name, Link* _link, framing::ChannelId _id,
CancellationListener l, const _qmf::ArgsLinkBridge& _args,
- InitializeCallback init) :
+ InitializeCallback init, const string& qn, const string& ae) :
link(_link), channel(_id), args(_args), mgmtObject(0),
- listener(l), name(_name), queueName("qpid.bridge_queue_"),
persistenceId(0),
+ listener(l), name(_name), queueName(qn), altEx(ae), persistenceId(0),
connState(0), conn(0), initialize(init), detached(false)
{
- queueName += Uuid(true).str();
+ if (queueName.empty())
+ queueName = "qpid.bridge_queue_" + Uuid(true).str();
ManagementAgent* agent = link->getBroker()->getManagementAgent();
if (agent != 0) {
mgmtObject = new _qmf::Bridge
@@ -137,7 +138,7 @@ void Bridge::create(Connection& c)
bool durable = false;//should this be an arg, or would we use
srcIsQueue for durable queues?
bool autoDelete = !durable;//auto delete transient queues?
- peer->getQueue().declare(queueName, "", false, durable, true,
autoDelete, queueSettings);
+ peer->getQueue().declare(queueName, altEx, false, durable, true,
autoDelete, queueSettings);
if (!args.i_dynamic)
peer->getExchange().bind(queueName, args.i_src, args.i_key,
FieldTable());
peer->getMessage().subscribe(queueName, args.i_dest, 1, 0, false, "",
0, FieldTable());
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h?rev=1350746&r1=1350745&r2=1350746&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h Fri Jun 15 19:25:59 2012
@@ -58,7 +58,8 @@ class Bridge : public PersistableConfig,
Bridge(const std::string& name, Link* link, framing::ChannelId id,
CancellationListener l,
const qmf::org::apache::qpid::broker::ArgsLinkBridge& args,
- InitializeCallback init
+ InitializeCallback init, const std::string& queueName="",
+ const std::string& altExchange=""
);
~Bridge();
@@ -131,6 +132,7 @@ class Bridge : public PersistableConfig,
CancellationListener listener;
std::string name;
std::string queueName;
+ std::string altEx;
mutable uint64_t persistenceId;
ConnectionState* connState;
Connection* conn;
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp?rev=1350746&r1=1350745&r2=1350746&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.cpp Fri Jun 15 19:25:59
2012
@@ -164,7 +164,9 @@ pair<Bridge::shared_ptr, bool> LinkRegis
const std::string&
excludes,
bool dynamic,
uint16_t sync,
-
Bridge::InitializeCallback init
+
Bridge::InitializeCallback init,
+ const std::string&
queueName,
+ const std::string&
altExchange
)
{
Mutex::ScopedLock locker(lock);
@@ -207,7 +209,7 @@ pair<Bridge::shared_ptr, bool> LinkRegis
bridge = Bridge::shared_ptr
(new Bridge (name, &link, link.nextChannel(),
boost::bind(&LinkRegistry::destroyBridge, this, _1),
- args, init));
+ args, init, queueName, altExchange));
bridges[name] = bridge;
link.add(bridge);
if (durable && store)
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.h
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.h?rev=1350746&r1=1350745&r2=1350746&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/LinkRegistry.h Fri Jun 15 19:25:59 2012
@@ -108,7 +108,9 @@ namespace broker {
const std::string& excludes,
bool dynamic,
uint16_t sync,
- Bridge::InitializeCallback=0
+ Bridge::InitializeCallback=0,
+ const std::string& queueName="",
+ const std::string& altExchange=""
);
/** determine if Bridge exists */
QPID_BROKER_EXTERN Bridge::shared_ptr
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]