diff options
author | Andrew Stitcher <astitcher@apache.org> | 2012-03-05 19:12:32 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2012-03-05 19:12:32 +0000 |
commit | 5c7af69acdf2c9702e765418b986d4fb15e7aea3 (patch) | |
tree | 088dc721afa16cbfa366126f985749c542e8a496 /cpp/src/qpid/broker/SemanticState.cpp | |
parent | 9d0f44cd53581e70390b41968109739e0171d07d (diff) | |
download | qpid-python-5c7af69acdf2c9702e765418b986d4fb15e7aea3.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/broker/SemanticState.cpp')
-rw-r--r-- | cpp/src/qpid/broker/SemanticState.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp index e7d2259c80..64924bdd4c 100644 --- a/cpp/src/qpid/broker/SemanticState.cpp +++ b/cpp/src/qpid/broker/SemanticState.cpp @@ -489,14 +489,14 @@ void SemanticState::route(intrusive_ptr<Message> msg, Deliverable& strategy) { exchangeName << " with routing-key " << msg->getRoutingKey())); } - cacheExchange->route(strategy, msg->getRoutingKey(), msg->getApplicationHeaders()); + cacheExchange->route(strategy); if (!strategy.delivered) { //TODO:if discard-unroutable, just drop it //TODO:else if accept-mode is explicit, reject it //else route it to alternate exchange if (cacheExchange->getAlternate()) { - cacheExchange->getAlternate()->route(strategy, msg->getRoutingKey(), msg->getApplicationHeaders()); + cacheExchange->getAlternate()->route(strategy); } if (!strategy.delivered) { msg->destroy(); |