summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Bridge.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2010-02-01 16:10:33 +0000
committerTed Ross <tross@apache.org>2010-02-01 16:10:33 +0000
commit7f1cc4b0a660cbe837e0261bd576eb4dd51dffd6 (patch)
tree1ba62254b64dc384d6b431500d4f7b405b9feb79 /cpp/src/qpid/broker/Bridge.cpp
parenta8d83333c8050c18918e370d2f0bb9621b0038c7 (diff)
downloadqpid-python-7f1cc4b0a660cbe837e0261bd576eb4dd51dffd6.tar.gz
QPID-2348 - [C++] The HeadersExchange does not support federation
Applied patch from Sam Joyce git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@905322 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Bridge.cpp')
-rw-r--r--cpp/src/qpid/broker/Bridge.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Bridge.cpp b/cpp/src/qpid/broker/Bridge.cpp
index 79e311d032..003d508e79 100644
--- a/cpp/src/qpid/broker/Bridge.cpp
+++ b/cpp/src/qpid/broker/Bridge.cpp
@@ -273,13 +273,19 @@ management::Manageable::status_t Bridge::ManagementMethod(uint32_t methodId,
}
void Bridge::propagateBinding(const string& key, const string& tagList,
- const string& op, const string& origin)
+ const string& op, const string& origin,
+ qpid::framing::FieldTable* extra_args)
{
const string& localTag = link->getBroker()->getFederationTag();
const string& peerTag = connState->getFederationPeerTag();
if (tagList.find(peerTag) == tagList.npos) {
FieldTable bindArgs;
+ if (extra_args) {
+ for (qpid::framing::FieldTable::ValueMap::iterator i=extra_args->begin(); i != extra_args->end(); ++i) {
+ bindArgs.insert((*i));
+ }
+ }
string newTagList(tagList + string(tagList.empty() ? "" : ",") + localTag);
bindArgs.setString(qpidFedOp, op);