diff options
author | Ted Ross <tross@apache.org> | 2010-02-01 16:10:33 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2010-02-01 16:10:33 +0000 |
commit | 7f1cc4b0a660cbe837e0261bd576eb4dd51dffd6 (patch) | |
tree | 1ba62254b64dc384d6b431500d4f7b405b9feb79 /cpp/src/qpid/broker/Bridge.cpp | |
parent | a8d83333c8050c18918e370d2f0bb9621b0038c7 (diff) | |
download | qpid-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.cpp | 8 |
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); |