summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/Decoder.h
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/Decoder.h
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/Decoder.h')
-rw-r--r--cpp/src/qpid/cluster/Decoder.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/qpid/cluster/Decoder.h b/cpp/src/qpid/cluster/Decoder.h
index dffd6c8f75..50f6afa491 100644
--- a/cpp/src/qpid/cluster/Decoder.h
+++ b/cpp/src/qpid/cluster/Decoder.h
@@ -30,6 +30,7 @@ namespace qpid {
namespace cluster {
class EventHeader;
+class ConnectionMap;
/**
* Holds a map of ConnectionDecoders. Decodes Events into EventFrames
@@ -42,7 +43,7 @@ class Decoder
public:
typedef boost::function<void(const EventFrame&)> Handler;
- Decoder(const Handler& h);
+ Decoder(const Handler& h, ConnectionMap&);
/** Takes EventHeader + data rather than Event so that the caller can
* pass a pointer to connection data or a CPG buffer directly without copy.
@@ -56,7 +57,9 @@ class Decoder
typedef boost::ptr_map<ConnectionId, ConnectionDecoder> Map;
Handler handler;
Map map;
+ ConnectionMap& connections;
};
+
}} // namespace qpid::cluster
#endif /*!QPID_CLUSTER_DECODER_H*/