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]