Author: fhanik Date: Tue Apr 4 06:40:11 2006 New Revision: 391307 URL: http://svn.apache.org/viewcvs?rev=391307&view=rev Log: Enabled all socket options for both receiving and sending sockets
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/AbstractSender.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReceiverBase.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReceiver.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/AbstractSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/AbstractSender.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/AbstractSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/AbstractSender.java Tue Apr 4 06:40:11 2006 @@ -50,6 +50,12 @@ private int port; private int maxRetryAttempts = 2;//zero resends private int attempt; + private boolean tcpNoDelay = true; + private boolean soKeepAlive; + private boolean ooBInline; + private boolean soReuseAddress; + private boolean soLingerOn; + private int soLingerTime; public AbstractSender() { } @@ -161,6 +167,30 @@ return attempt; } + public boolean getTcpNoDelay() { + return tcpNoDelay; + } + + public boolean getSoKeepAlive() { + return soKeepAlive; + } + + public boolean getOoBInline() { + return ooBInline; + } + + public boolean getSoReuseAddress() { + return soReuseAddress; + } + + public boolean getSoLingerOn() { + return soLingerOn; + } + + public int getSoLingerTime() { + return soLingerTime; + } + public void setKeepAliveCount(int keepAliveCount) { this.keepAliveCount = keepAliveCount; } @@ -195,5 +225,29 @@ public void setAttempt(int attempt) { this.attempt = attempt; + } + + public void setTcpNoDelay(boolean tcpNoDelay) { + this.tcpNoDelay = tcpNoDelay; + } + + public void setSoKeepAlive(boolean soKeepAlive) { + this.soKeepAlive = soKeepAlive; + } + + public void setOoBInline(boolean ooBInline) { + this.ooBInline = ooBInline; + } + + public void setSoReuseAddress(boolean soReuseAddress) { + this.soReuseAddress = soReuseAddress; + } + + public void setSoLingerOn(boolean soLingerOn) { + this.soLingerOn = soLingerOn; + } + + public void setSoLingerTime(int soLingerTime) { + this.soLingerTime = soLingerTime; } } Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReceiverBase.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReceiverBase.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/ReceiverBase.java Tue Apr 4 06:40:11 2006 @@ -59,6 +59,12 @@ private int autoBind = 10; private int maxThreads = 25; private int minThreads = 6; + private boolean tcpNoDelay; + private boolean soKeepAlive; + private boolean ooBInline; + private boolean soResuseAddress; + private boolean soLingerOn; + private int soLingerTime; public ReceiverBase() { } @@ -247,6 +253,30 @@ return minThreads; } + public boolean getTcpNoDelay() { + return tcpNoDelay; + } + + public boolean getSoKeepAlive() { + return soKeepAlive; + } + + public boolean getOoBInline() { + return ooBInline; + } + + public boolean getSoResuseAddress() { + return soResuseAddress; + } + + public boolean getSoLingerOn() { + return soLingerOn; + } + + public int getSoLingerTime() { + return soLingerTime; + } + public void setTcpSelectorTimeout(long selTimeout) { tcpSelectorTimeout = selTimeout; } @@ -286,5 +316,29 @@ public void setMinThreads(int minThreads) { this.minThreads = minThreads; + } + + public void setTcpNoDelay(boolean tcpNoDelay) { + this.tcpNoDelay = tcpNoDelay; + } + + public void setSoKeepAlive(boolean soKeepAlive) { + this.soKeepAlive = soKeepAlive; + } + + public void setOoBInline(boolean ooBInline) { + this.ooBInline = ooBInline; + } + + public void setSoResuseAddress(boolean soResuseAddress) { + this.soResuseAddress = soResuseAddress; + } + + public void setSoLingerOn(boolean soLingerOn) { + this.soLingerOn = soLingerOn; + } + + public void setSoLingerTime(int soLingerTime) { + this.soLingerTime = soLingerTime; } } Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReceiver.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReceiver.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReceiver.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioReceiver.java Tue Apr 4 06:40:11 2006 @@ -140,6 +140,11 @@ if ( socket == null ) continue; socket.setReceiveBufferSize(getRxBufSize()); socket.setSendBufferSize(getRxBufSize()); + socket.setTcpNoDelay(getTcpNoDelay()); + socket.setKeepAlive(getSoKeepAlive()); + socket.setOOBInline(getOoBInline()); + socket.setReuseAddress(getSoResuseAddress()); + socket.setSoLinger(getSoLingerOn(),getSoLingerTime()); ObjectReader reader = new ObjectReader(socket); thread.serviceSocket(socket,reader); }//while Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/bio/BioSender.java Tue Apr 4 06:40:11 2006 @@ -186,6 +186,11 @@ socket.setSendBufferSize(getTxBufSize()); socket.setReceiveBufferSize(getRxBufSize()); socket.setSoTimeout( (int) getTimeout()); + socket.setTcpNoDelay(getTcpNoDelay()); + socket.setKeepAlive(getSoKeepAlive()); + socket.setReuseAddress(getSoReuseAddress()); + socket.setOOBInline(getOoBInline()); + socket.setSoLinger(getSoLingerOn(),getSoLingerTime()); setConnected(true); soOut = socket.getOutputStream(); soIn = socket.getInputStream(); Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioReceiver.java Tue Apr 4 06:40:11 2006 @@ -172,6 +172,11 @@ channel.socket().setReceiveBufferSize(getRxBufSize()); channel.socket().setSendBufferSize(getTxBufSize()); + channel.socket().setTcpNoDelay(getTcpNoDelay()); + channel.socket().setKeepAlive(getSoKeepAlive()); + channel.socket().setOOBInline(getOoBInline()); + channel.socket().setReuseAddress(getSoResuseAddress()); + channel.socket().setSoLinger(getSoLingerOn(),getSoLingerTime()); Object attach = new ObjectReader(channel); registerChannel(selector, channel, Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java URL: http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=391307&r1=391306&r2=391307&view=diff ============================================================================== --- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java (original) +++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/transport/nio/NioSender.java Tue Apr 4 06:40:11 2006 @@ -17,9 +17,8 @@ package org.apache.catalina.tribes.transport.nio; import java.io.IOException; -import java.net.InetAddress; import java.net.InetSocketAddress; -import java.net.Socket; +import java.net.UnknownHostException; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; @@ -28,9 +27,8 @@ import org.apache.catalina.tribes.Member; import org.apache.catalina.tribes.io.XByteBuffer; -import org.apache.catalina.tribes.transport.DataSender; import org.apache.catalina.tribes.transport.AbstractSender; -import java.net.UnknownHostException; +import org.apache.catalina.tribes.transport.DataSender; /** * This class is NOT thread safe and should never be used with more than one thread at a time @@ -97,6 +95,11 @@ socketChannel.socket().setReceiveBufferSize(getRxBufSize()); socketChannel.socket().setSoTimeout((int)getTimeout()); socketChannel.socket().setSoLinger(false,0); + socketChannel.socket().setTcpNoDelay(getTcpNoDelay()); + socketChannel.socket().setKeepAlive(getSoKeepAlive()); + socketChannel.socket().setReuseAddress(getSoReuseAddress()); + socketChannel.socket().setOOBInline(getOoBInline()); + socketChannel.socket().setSoLinger(getSoLingerOn(),getSoLingerTime()); if ( current != null ) key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); return false; } else { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]