summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/ConnectionMap.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-02-10 21:42:10 +0000
committerAlan Conway <aconway@apache.org>2009-02-10 21:42:10 +0000
commitf6f6916d3a631240f08f9d9fedf5c3b5f71883aa (patch)
tree425e4f99c4355f15ff317dbe23d32a0ebafca2e5 /cpp/src/qpid/cluster/ConnectionMap.cpp
parent4fb52cd93157ba10d82e656ce87051c7867e25f0 (diff)
downloadqpid-python-f6f6916d3a631240f08f9d9fedf5c3b5f71883aa.tar.gz
Fix cluster flow control bug: hang with large messages (>frame-max) and low --cluster-read-max.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743114 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/ConnectionMap.cpp')
-rw-r--r--cpp/src/qpid/cluster/ConnectionMap.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/ConnectionMap.cpp b/cpp/src/qpid/cluster/ConnectionMap.cpp
index 1a49a4d663..ed2fa94412 100644
--- a/cpp/src/qpid/cluster/ConnectionMap.cpp
+++ b/cpp/src/qpid/cluster/ConnectionMap.cpp
@@ -62,6 +62,12 @@ ConnectionMap::ConnectionPtr ConnectionMap::get(const ConnectionId& id) {
return i->second;
}
+ConnectionMap::ConnectionPtr ConnectionMap::getLocal(const ConnectionId& id) {
+ if (id.getMember() != cluster.getId()) return 0;
+ Map::const_iterator i = map.find(id);
+ return i == map.end() ? 0 : i->second;
+}
+
ConnectionMap::Vector ConnectionMap::values() const {
Vector result(map.size());
std::transform(map.begin(), map.end(), result.begin(),