diff options
Diffstat (limited to 'cpp/src/qpid/cluster/OutputInterceptor.h')
-rw-r--r-- | cpp/src/qpid/cluster/OutputInterceptor.h | 8 |
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; |