diff options
| author | Alan Conway <aconway@apache.org> | 2009-06-16 21:21:09 +0000 |
|---|---|---|
| committer | Alan Conway <aconway@apache.org> | 2009-06-16 21:21:09 +0000 |
| commit | 80d65b38008d9b7f31c825508819f9600d63b63c (patch) | |
| tree | 316862bff35f1cae6f0d1152dcf4a6e3b0f967ed /cpp/src/qpid/cluster/Cluster.cpp | |
| parent | f5e98a6dfb8c4defe22755340f440e6f16c2559a (diff) | |
| download | qpid-python-80d65b38008d9b7f31c825508819f9600d63b63c.tar.gz | |
Performance improvements in AggregateOutput and SemanticState.
Replaced AggregateOutput hierarchy with a flat list per connection
holding only the OutputTasks that are potentially active. Tasks are
droped from the list as soon as they return false, and added back when
they may have output.
Inlined frequently-used SequenceNumber functions.
Replace std::list in QueueListeners with std::vector.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@785408 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/Cluster.cpp')
| -rw-r--r-- | cpp/src/qpid/cluster/Cluster.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp index 37562ce46c..fe6958244f 100644 --- a/cpp/src/qpid/cluster/Cluster.cpp +++ b/cpp/src/qpid/cluster/Cluster.cpp @@ -755,13 +755,16 @@ void Cluster::messageExpired(const MemberId&, uint64_t id, Lock&) { expiryPolicy->deliverExpire(id); } -void Cluster::errorCheck(const MemberId& , uint8_t type, uint64_t frameSeq, Lock&) { +void Cluster::errorCheck(const MemberId& m, uint8_t type, uint64_t frameSeq, Lock&) { // If we receive an errorCheck here, it's because we have processed past the point // of the error so respond with ERROR_TYPE_NONE assert(map.getFrameSeq() >= frameSeq); - if (type != framing::cluster::ERROR_TYPE_NONE) // Don't respond if its already NONE. + if (type != framing::cluster::ERROR_TYPE_NONE) { // Don't respond to NONE. + QPID_LOG(debug, "Error " << frameSeq << " on " << m << " did not occur locally"); mcast.mcastControl( - ClusterErrorCheckBody(ProtocolVersion(), framing::cluster::ERROR_TYPE_NONE, frameSeq), self); + ClusterErrorCheckBody(ProtocolVersion(), + framing::cluster::ERROR_TYPE_NONE, frameSeq), self); + } } }} // namespace qpid::cluster |
