summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/OutputInterceptor.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/cluster/OutputInterceptor.h')
-rw-r--r--cpp/src/qpid/cluster/OutputInterceptor.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/OutputInterceptor.h b/cpp/src/qpid/cluster/OutputInterceptor.h
index 548ec32b5b..ad9d9952bf 100644
--- a/cpp/src/qpid/cluster/OutputInterceptor.h
+++ b/cpp/src/qpid/cluster/OutputInterceptor.h
@@ -43,14 +43,16 @@ class OutputInterceptor : public sys::ConnectionOutputHandler {
// sys::ConnectionOutputHandler functions
void send(framing::AMQFrame& f);
void activateOutput();
- void close() { Locker l(lock); next.close(); }
- size_t getBuffered() const { Locker l(lock); return next.getBuffered(); }
+ void close() { Locker l(lock); next->close(); }
+ size_t getBuffered() const { Locker l(lock); return next->getBuffered(); }
// Delivery point for doOutput requests.
void deliverDoOutput(size_t requested);
// Intercept doOutput requests on Connection.
bool doOutput();
+ void setOutputHandler(sys::ConnectionOutputHandler& h);
+
cluster::Connection& parent;
private:
@@ -60,7 +62,7 @@ class OutputInterceptor : public sys::ConnectionOutputHandler {
void sendDoOutput();
mutable sys::Mutex lock;
- sys::ConnectionOutputHandler& next;
+ sys::ConnectionOutputHandler* next;
size_t sent;
WriteEstimate writeEstimate;
bool moreOutput;