summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/management/ManagementTopicExchange.cpp
diff options
context:
space:
mode:
authorAndrew Stitcher <astitcher@apache.org>2012-03-05 19:12:32 +0000
committerAndrew Stitcher <astitcher@apache.org>2012-03-05 19:12:32 +0000
commit9e7c2172f527825b254c2799bf576779b06cc332 (patch)
tree088dc721afa16cbfa366126f985749c542e8a496 /cpp/src/qpid/management/ManagementTopicExchange.cpp
parent7a28effc88c2200aa975e7e8bdac0971c47db34f (diff)
downloadqpid-python-9e7c2172f527825b254c2799bf576779b06cc332.tar.gz
QPID-3883: Using application headers in messages causes a very large slowdown
Change Exchange route interface not to require a fieldtable - Exchanges that actually use the fieldtable for routing need to extract it directly from the message themselves. This avoids the need to extract the fieldtable from the message unnecessarily. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1297183 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/management/ManagementTopicExchange.cpp')
-rw-r--r--cpp/src/qpid/management/ManagementTopicExchange.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/qpid/management/ManagementTopicExchange.cpp b/cpp/src/qpid/management/ManagementTopicExchange.cpp
index ee8657646f..587cc660df 100644
--- a/cpp/src/qpid/management/ManagementTopicExchange.cpp
+++ b/cpp/src/qpid/management/ManagementTopicExchange.cpp
@@ -39,18 +39,18 @@ ManagementTopicExchange::ManagementTopicExchange(const std::string& _name,
TopicExchange(_name, _durable, _args, _parent, b),
managementAgent(0) {}
-void ManagementTopicExchange::route(Deliverable& msg,
- const string& routingKey,
- const FieldTable* args)
+void ManagementTopicExchange::route(Deliverable& msg)
{
bool routeIt = true;
+ const string& routingKey = msg.getMessage().getRoutingKey();
+ const FieldTable* args = msg.getMessage().getApplicationHeaders();
// Intercept management agent commands
if (managementAgent)
routeIt = managementAgent->dispatchCommand(msg, routingKey, args, true, qmfVersion);
if (routeIt)
- TopicExchange::route(msg, routingKey, args);
+ TopicExchange::route(msg);
}
bool ManagementTopicExchange::bind(Queue::shared_ptr queue,