summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Bridge.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-10-16 19:45:14 +0000
committerTed Ross <tross@apache.org>2008-10-16 19:45:14 +0000
commit879ef8cf4fa5d0c935d52d0fcb1d7e81929cf2d5 (patch)
tree10dfe6ac67860a559e9b66680ec4a2c8715691c5 /cpp/src/qpid/broker/Bridge.cpp
parent92b8daec32ca76cbfdd02558e45d41ff7373f6ef (diff)
downloadqpid-python-879ef8cf4fa5d0c935d52d0fcb1d7e81929cf2d5.tar.gz
QPID-1366 - implementation of automatic anti-looping for federation
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@705337 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.cpp')
-rw-r--r--cpp/src/qpid/broker/Bridge.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp
index 65ed38b731..5064320efb 100644
--- a/cpp/src/qpid/broker/Bridge.cpp
+++ b/cpp/src/qpid/broker/Bridge.cpp
@@ -91,11 +91,21 @@ void Bridge::create(ConnectionState& c)
string queue = "bridge_queue_";
queue += Uuid(true).str();
FieldTable queueSettings;
+
if (args.i_tag.size()) {
queueSettings.setString("qpid.trace.id", args.i_tag);
+ } else {
+ const string& localTag = link->getBroker()->getFederationTag();
+ if (localTag.size())
+ queueSettings.setString("qpid.trace.id", localTag);
}
+
if (args.i_excludes.size()) {
queueSettings.setString("qpid.trace.exclude", args.i_excludes);
+ } else {
+ const string& peerTag = c.getFederationPeerTag();
+ if (peerTag.size())
+ queueSettings.setString("qpid.trace.exclude", peerTag);
}
bool durable = false;//should this be an arg, or would be use srcIsQueue for durable queues?