From 0d9a9a82bc754e8ee12c5b7b4c8befd7b5b5c12b Mon Sep 17 00:00:00 2001 From: Andrew Stitcher Date: Mon, 8 Jun 2009 16:43:28 +0000 Subject: Fix of the previous client heartbeat changes: - Changes to the cluster code were previously missed - It's neater and more correct to reset the traffic timeout for all connection traffic, not just traffic in a session git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782696 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h | 1 + cpp/src/qpid/cluster/OutputInterceptor.cpp | 5 +++++ cpp/src/qpid/cluster/OutputInterceptor.h | 1 + 3 files changed, 7 insertions(+) (limited to 'cpp/src/qpid/cluster') diff --git a/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h b/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h index 6a30bddf06..566a82476e 100644 --- a/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h +++ b/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h @@ -37,6 +37,7 @@ class NoOpConnectionOutputHandler : public sys::ConnectionOutputHandler public: virtual void send(framing::AMQFrame&) {} virtual void close() {} + virtual void abort() {} virtual void activateOutput() {} virtual void giveReadCredit(int32_t) {} }; diff --git a/cpp/src/qpid/cluster/OutputInterceptor.cpp b/cpp/src/qpid/cluster/OutputInterceptor.cpp index f898957351..b5fa595577 100644 --- a/cpp/src/qpid/cluster/OutputInterceptor.cpp +++ b/cpp/src/qpid/cluster/OutputInterceptor.cpp @@ -64,6 +64,11 @@ void OutputInterceptor::activateOutput() { sendDoOutput(sendMax); } +void OutputInterceptor::abort() { + sys::Mutex::ScopedLock l(lock); + next->abort(); +} + void OutputInterceptor::giveReadCredit(int32_t credit) { sys::Mutex::ScopedLock l(lock); next->giveReadCredit(credit); diff --git a/cpp/src/qpid/cluster/OutputInterceptor.h b/cpp/src/qpid/cluster/OutputInterceptor.h index 7d6c718b82..62b7d6567f 100644 --- a/cpp/src/qpid/cluster/OutputInterceptor.h +++ b/cpp/src/qpid/cluster/OutputInterceptor.h @@ -43,6 +43,7 @@ class OutputInterceptor : public sys::ConnectionOutputHandler { // sys::ConnectionOutputHandler functions void send(framing::AMQFrame& f); + void abort(); void activateOutput(); void giveReadCredit(int32_t); void close(); -- cgit v1.2.1