Author: fhanik Date: Wed Apr 25 11:29:50 2007 New Revision: 532434 URL: http://svn.apache.org/viewvc?view=rev&rev=532434 Log: Implement keep alive timeout logic
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?view=diff&rev=532434&r1=532433&r2=532434 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java Wed Apr 25 11:29:50 2007 @@ -198,7 +198,7 @@ }catch ( Exception x ) { log.warn("Unable to perform heartbeat on the TcpFailureDetector.",x); } finally { - super.heartbeat(); + } } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java?view=diff&rev=532434&r1=532433&r2=532434 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Wed Apr 25 11:29:50 2007 @@ -113,7 +113,7 @@ public boolean keepalive() { boolean disconnect = false; if ( keepAliveCount >= 0 && requestCount>keepAliveCount ) disconnect = true; - else if ( keepAliveTime >= 0 && keepAliveTime> (System.currentTimeMillis()-connectTime) ) disconnect = true; + else if ( keepAliveTime >= 0 && (System.currentTimeMillis()-connectTime)>keepAliveTime ) disconnect = true; if ( disconnect ) disconnect(); return disconnect; } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?view=diff&rev=532434&r1=532433&r2=532434 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java Wed Apr 25 11:29:50 2007 @@ -80,7 +80,7 @@ public boolean keepalive() { //do nothing, the pool checks on every return - return false; + return (queue==null)?false:queue.checkIdleKeepAlive(); } @@ -129,6 +129,16 @@ */ public int getInPoolSize() { return notinuse.size(); + } + + public synchronized boolean checkIdleKeepAlive() { + DataSender[] list = new DataSender[notinuse.size()]; + notinuse.toArray(list); + boolean result = false; + for (int i=0; i<list.length; i++) { + result = result | list[i].keepalive(); + } + return result; } public synchronized DataSender getSender(long timeout) { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?view=diff&rev=532434&r1=532433&r2=532434 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Wed Apr 25 11:29:50 2007 @@ -285,6 +285,7 @@ NioSender sender = (NioSender)entry.getValue(); if ( sender.keepalive() ) { nioSenders.remove(entry.getKey()); + result = true; } } return result; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]