diff options
author | Alan Conway <aconway@apache.org> | 2009-02-10 21:42:10 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2009-02-10 21:42:10 +0000 |
commit | f6f6916d3a631240f08f9d9fedf5c3b5f71883aa (patch) | |
tree | 425e4f99c4355f15ff317dbe23d32a0ebafca2e5 /cpp/src/qpid/cluster/ConnectionMap.cpp | |
parent | 4fb52cd93157ba10d82e656ce87051c7867e25f0 (diff) | |
download | qpid-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.cpp | 6 |
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(), |