diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2008-10-13 18:07:07 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2008-10-13 18:07:07 +0000 |
| commit | 604b624676c20770d6b6b30be3b2fb357892982e (patch) | |
| tree | d9cf003df5760f7815f94e9181df5429b1bbeaf4 /cpp/src/qpid/broker/FanOutExchange.cpp | |
| parent | 02b136ad60558724e77cb1d72d9ca06679c7df87 (diff) | |
| download | qpid-python-604b624676c20770d6b6b30be3b2fb357892982e.tar.gz | |
QPID-1351
-Support for sequencing messages through an exchange
-Related changes
- Bug fix for ptr saftey in Headers & FanOut exchange
- Added support for int64 and uint64 in fieldvalue / fieldtable
- Added tests for fieldtable
- Added tests for sequencing message feature.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704192 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/FanOutExchange.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/FanOutExchange.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/FanOutExchange.cpp b/cpp/src/qpid/broker/FanOutExchange.cpp index 1e03d34b25..42fe537c6a 100644 --- a/cpp/src/qpid/broker/FanOutExchange.cpp +++ b/cpp/src/qpid/broker/FanOutExchange.cpp @@ -69,15 +69,18 @@ bool FanOutExchange::unbind(Queue::shared_ptr queue, const string& /*key*/, cons } void FanOutExchange::route(Deliverable& msg, const string& /*routingKey*/, const FieldTable* /*args*/){ + preRoute(msg); uint32_t count(0); BindingsArray::ConstPtr p = bindings.snapshot(); - for(std::vector<Binding::shared_ptr>::const_iterator i = p->begin(); i != p->end(); ++i, count++){ - msg.deliverTo((*i)->queue); - if ((*i)->mgmtBinding != 0) - (*i)->mgmtBinding->inc_msgMatched (); + if (p.get()){ + for(std::vector<Binding::shared_ptr>::const_iterator i = p->begin(); i != p->end(); ++i, count++){ + msg.deliverTo((*i)->queue); + if ((*i)->mgmtBinding != 0) + (*i)->mgmtBinding->inc_msgMatched (); + } } - + if (mgmtExchange != 0) { mgmtExchange->inc_msgReceives (); |
