diff options
Diffstat (limited to 'cpp/src/qpid/cluster/Connection.cpp')
-rw-r--r-- | cpp/src/qpid/cluster/Connection.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/qpid/cluster/Connection.cpp b/cpp/src/qpid/cluster/Connection.cpp index 2f1518f871..28391a5c78 100644 --- a/cpp/src/qpid/cluster/Connection.cpp +++ b/cpp/src/qpid/cluster/Connection.cpp @@ -22,6 +22,7 @@ #include "Cluster.h" #include "qpid/broker/SessionState.h" +#include "qpid/broker/SemanticState.h" #include "qpid/framing/AMQFrame.h" #include "qpid/framing/AllInvoker.h" #include "qpid/framing/ClusterConnectionDeliverCloseBody.h" @@ -159,6 +160,13 @@ void Connection::deliverBuffer(Buffer& buf) { delivered(mcastDecoder.frame); } +void Connection::consumerState(const string& name, bool blocked, bool notifyEnabled) { + broker::SessionHandler& h = connection.getChannel(currentChannel); + broker::SessionState* s = h.getSession(); + broker::SemanticState::ConsumerImpl& c = s->getConsumer(name); + c.setBlocked(blocked); + if (notifyEnabled) c.enableNotify(); else c.disableNotify(); +} void Connection::sessionState( const SequenceNumber& replayStart, |