Author: astitcher
Date: Mon Jun 8 16:43:28 2009
New Revision: 782696
URL: http://svn.apache.org/viewvc?rev=782696&view=rev
Log:
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
Modified:
qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
qpid/trunk/qpid/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h
qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp
qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.h
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp?rev=782696&r1=782695&r2=782696&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp Mon Jun 8 16:43:28 2009
@@ -103,6 +103,9 @@
}
void Connection::received(framing::AMQFrame& frame) {
+ // Received frame on connection so delay timeout
+ restartTimeout();
+
if (frame.getChannel() == 0 && frame.getMethod()) {
adapter.handle(frame);
} else {
Modified: qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp?rev=782696&r1=782695&r2=782696&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/ConnectionHandler.cpp Mon Jun 8
16:43:28 2009
@@ -63,9 +63,6 @@
void ConnectionHandler::handle(framing::AMQFrame& frame)
{
- // Received frame on connection so delay timeout
- handler->connection.restartTimeout();
-
AMQMethodBody* method=frame.getBody()->getMethod();
Connection::ErrorListener* errorListener =
handler->connection.getErrorListener();
try{
Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h?rev=782696&r1=782695&r2=782696&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h
(original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/NoOpConnectionOutputHandler.h Mon Jun
8 16:43:28 2009
@@ -37,6 +37,7 @@
public:
virtual void send(framing::AMQFrame&) {}
virtual void close() {}
+ virtual void abort() {}
virtual void activateOutput() {}
virtual void giveReadCredit(int32_t) {}
};
Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp?rev=782696&r1=782695&r2=782696&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp Mon Jun 8
16:43:28 2009
@@ -64,6 +64,11 @@
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);
Modified: qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.h
URL:
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.h?rev=782696&r1=782695&r2=782696&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/cluster/OutputInterceptor.h Mon Jun 8
16:43:28 2009
@@ -43,6 +43,7 @@
// sys::ConnectionOutputHandler functions
void send(framing::AMQFrame& f);
+ void abort();
void activateOutput();
void giveReadCredit(int32_t);
void close();
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]