Author: pero
Date: Mon Aug 13 11:32:58 2007
New Revision: 565469

URL: http://svn.apache.org/viewvc?view=rev&rev=565469
Log:
Backport Tomcat 6 cluster socket parameter.

Modified:
    
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
    
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
    
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
    
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
    
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
    tomcat/container/tc5.5.x/webapps/docs/changelog.xml

Modified: 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ClusterReceiverBase.java
 Mon Aug 13 11:32:58 2007
@@ -93,6 +93,16 @@
 
     private long lastChecked = System.currentTimeMillis();
 
+    private int rxBufSize = 43800;
+    private int txBufSize = 25188;
+    private boolean tcpNoDelay = true;
+    private boolean soKeepAlive = false;
+    private boolean ooBInline = true;
+    private boolean soReuseAddress = true;
+    private boolean soLingerOn = true;
+    private int soLingerTime = 3;
+    private int soTrafficClass = 0x04 | 0x08 | 0x010;
+    private int timeout = 3000; //3 seconds
 
     /**
      * Compress message data bytes
@@ -104,6 +114,146 @@
      */
     private ObjectName objectName;
 
+    /**
+     * @return the ooBInline
+     */
+    public boolean isOoBInline() {
+        return ooBInline;
+    }
+
+    /**
+     * @param ooBInline the ooBInline to set
+     */
+    public void setOoBInline(boolean ooBInline) {
+        this.ooBInline = ooBInline;
+    }
+
+    /**
+     * @return the rxBufSize
+     */
+    public int getRxBufSize() {
+        return rxBufSize;
+    }
+
+    /**
+     * @param rxBufSize the rxBufSize to set
+     */
+    public void setRxBufSize(int rxBufSize) {
+        this.rxBufSize = rxBufSize;
+    }
+
+    /**
+     * @return the soKeepAlive
+     */
+    public boolean isSoKeepAlive() {
+        return soKeepAlive;
+    }
+
+    /**
+     * @param soKeepAlive the soKeepAlive to set
+     */
+    public void setSoKeepAlive(boolean soKeepAlive) {
+        this.soKeepAlive = soKeepAlive;
+    }
+
+    /**
+     * @return the soLingerOn
+     */
+    public boolean isSoLingerOn() {
+        return soLingerOn;
+    }
+
+    /**
+     * @param soLingerOn the soLingerOn to set
+     */
+    public void setSoLingerOn(boolean soLingerOn) {
+        this.soLingerOn = soLingerOn;
+    }
+
+    /**
+     * @return the soLingerTime
+     */
+    public int getSoLingerTime() {
+        return soLingerTime;
+    }
+
+    /**
+     * @param soLingerTime the soLingerTime to set
+     */
+    public void setSoLingerTime(int soLingerTime) {
+        this.soLingerTime = soLingerTime;
+    }
+
+    /**
+     * @return the soReuseAddress
+     */
+    public boolean isSoReuseAddress() {
+        return soReuseAddress;
+    }
+
+    /**
+     * @param soReuseAddress the soReuseAddress to set
+     */
+    public void setSoReuseAddress(boolean soReuseAddress) {
+        this.soReuseAddress = soReuseAddress;
+    }
+
+    /**
+     * @return the soTrafficClass
+     */
+    public int getSoTrafficClass() {
+        return soTrafficClass;
+    }
+
+    /**
+     * @param soTrafficClass the soTrafficClass to set
+     */
+    public void setSoTrafficClass(int soTrafficClass) {
+        this.soTrafficClass = soTrafficClass;
+    }
+
+    /**
+     * @return the tcpNoDelay
+     */
+    public boolean isTcpNoDelay() {
+        return tcpNoDelay;
+    }
+
+    /**
+     * @param tcpNoDelay the tcpNoDelay to set
+     */
+    public void setTcpNoDelay(boolean tcpNoDelay) {
+        this.tcpNoDelay = tcpNoDelay;
+    }
+
+    /**
+     * @return the timeout
+     */
+    public int getTimeout() {
+        return timeout;
+    }
+
+    /**
+     * @param timeout the timeout to set
+     */
+    public void setTimeout(int timeout) {
+        this.timeout = timeout;
+    }
+
+    /**
+     * @return the txBufSize
+     */
+    public int getTxBufSize() {
+        return txBufSize;
+    }
+
+    /**
+     * @param txBufSize the txBufSize to set
+     */
+    public void setTxBufSize(int txBufSize) {
+        this.txBufSize = txBufSize;
+    }
+    
     /**
      * @return Returns the doListen.
      */

Modified: 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/DataSender.java
 Mon Aug 13 11:32:58 2007
@@ -54,7 +54,7 @@
     /**
      * The descriptive information about this implementation.
      */
-    private static final String info = "DataSender/2.1";
+    private static final String info = "DataSender/2.2";
 
     /**
      * receiver address
@@ -92,11 +92,17 @@
      */
     private SenderState senderState = new SenderState();
 
-    /**
-     * wait time for ack
-     */
-    private long ackTimeout;
-
+    private int rxBufSize = 25188;
+    private int txBufSize = 43800;
+    private long timeout = 3000;
+    private boolean tcpNoDelay = true;
+    private boolean soKeepAlive = false;
+    private boolean ooBInline = true;
+    private boolean soReuseAddress = true;
+    private boolean soLingerOn = false;
+    private int soLingerTime = 3;
+    private int soTrafficClass = 0x04 | 0x08 | 0x010;
+     
     /**
      * number of requests
      */
@@ -489,12 +495,178 @@
             this.senderState.setReady();
     }
 
+    /**
+     * @return the ooBInline
+     * @since 5.5.25
+     */
+    public boolean isOoBInline() {
+        return ooBInline;
+    }
+
+    /**
+     * @param ooBInline the ooBInline to set
+     * @since 5.5.25
+     */
+    public void setOoBInline(boolean ooBInline) {
+        this.ooBInline = ooBInline;
+    }
+
+    /**
+     * @return the rxBufSize
+     * @since 5.5.25
+     */
+    public int getRxBufSize() {
+        return rxBufSize;
+    }
+
+    /**
+     * @param rxBufSize the rxBufSize to set
+     * @since 5.5.25
+     */
+    public void setRxBufSize(int rxBufSize) {
+        this.rxBufSize = rxBufSize;
+    }
+
+    /**
+     * @return the soKeepAlive
+     * @since 5.5.25
+     */
+    public boolean isSoKeepAlive() {
+        return soKeepAlive;
+    }
+
+    /**
+     * @param soKeepAlive the soKeepAlive to set
+     * @since 5.5.25
+     */
+    public void setSoKeepAlive(boolean soKeepAlive) {
+        this.soKeepAlive = soKeepAlive;
+    }
+
+    /**
+     * @return the soLingerOn
+     * @since 5.5.25
+     */
+    public boolean isSoLingerOn() {
+        return soLingerOn;
+    }
+
+    /**
+     * @param soLingerOn the soLingerOn to set
+     * @since 5.5.25
+     */
+    public void setSoLingerOn(boolean soLingerOn) {
+        this.soLingerOn = soLingerOn;
+    }
+
+    /**
+     * @return the soLingerTime
+     * @since 5.5.25
+     */
+    public int getSoLingerTime() {
+        return soLingerTime;
+    }
+
+    /**
+     * @param soLingerTime the soLingerTime to set
+     * @since 5.5.25
+     */
+    public void setSoLingerTime(int soLingerTime) {
+        this.soLingerTime = soLingerTime;
+    }
+
+    /**
+     * @return the soReuseAddress
+     * @since 5.5.25
+     */
+    public boolean isSoReuseAddress() {
+        return soReuseAddress;
+    }
+
+    /**
+     * @param soReuseAddress the soReuseAddress to set
+     * @since 5.5.25
+     */
+    public void setSoReuseAddress(boolean soReuseAddress) {
+        this.soReuseAddress = soReuseAddress;
+    }
+
+    /**
+     * @return the soTrafficClass
+     * @since 5.5.25
+     */
+    public int getSoTrafficClass() {
+        return soTrafficClass;
+    }
+
+    /**
+     * @param soTrafficClass the soTrafficClass to set
+     * @since 5.5.25
+     */
+    public void setSoTrafficClass(int soTrafficClass) {
+        this.soTrafficClass = soTrafficClass;
+    }
+
+    /**
+     * @return the tcpNoDelay
+     * @since 5.5.25
+     */
+    public boolean isTcpNoDelay() {
+        return tcpNoDelay;
+    }
+
+    /**
+     * @param tcpNoDelay the tcpNoDelay to set
+     * @since 5.5.25
+     */
+    public void setTcpNoDelay(boolean tcpNoDelay) {
+        this.tcpNoDelay = tcpNoDelay;
+    }
+
+    /**
+     * @return the timeout
+     * @since 5.5.25
+     */
+    public long getTimeout() {
+        return timeout;
+    }
+
+    /**
+     * @param timeout the timeout to set
+     * @since 5.5.25
+     */
+    public void setTimeout(long timeout) {
+        this.timeout = timeout;
+    }
+
+    /**
+     * @return the txBufSize
+     * @since 5.5.25
+     */
+    public int getTxBufSize() {
+        return txBufSize;
+    }
+
+    /**
+     * @param txBufSize the txBufSize to set
+     * @since 5.5.25
+     */
+    public void setTxBufSize(int txBufSize) {
+        this.txBufSize = txBufSize;
+    }
+
+    /**
+     * @deprecated since 5.5.25 use timeout instead
+     */
     public long getAckTimeout() {
-        return ackTimeout;
+        return timeout;
     }
 
+    /**
+     * @deprecated since 5.5.25 use timeout instead
+     */
     public void setAckTimeout(long ackTimeout) {
-        this.ackTimeout = ackTimeout;
+        this.timeout = ackTimeout;
     }
 
     public long getKeepAliveTimeout() {
@@ -693,7 +865,7 @@
        try {
             createSocket();
             if (isWaitForAck())
-                socket.setSoTimeout((int) ackTimeout);
+                socket.setSoTimeout((int) getTimeout());
             isSocketConnected = true;
             socketOpenCounter++;
             this.keepAliveCount = 0;
@@ -720,12 +892,22 @@
     protected void createSocket() throws IOException, SocketException {
         SocketAddress sockAddr = new InetSocketAddress(getAddress(), 
getPort());
         socket = new Socket();
-        int timeout = (int) getAckTimeout();
+        int timeout = (int) getTimeout();
         if (timeout > 0) {
            socket.connect(sockAddr, timeout);
         } else {
            socket.connect(sockAddr);
         }
+        socket.setSendBufferSize(getTxBufSize());
+        socket.setReceiveBufferSize(getRxBufSize());
+        socket.setSoTimeout( (int) getTimeout());
+        socket.setTcpNoDelay(isTcpNoDelay());
+        socket.setKeepAlive(isSoKeepAlive());
+        socket.setReuseAddress(isSoReuseAddress());
+        socket.setOOBInline(isOoBInline());
+        socket.setSoLinger(isSoLingerOn(),getSoLingerTime());
+        socket.setTrafficClass(getSoTrafficClass());
+
     }
 
     /**
@@ -894,7 +1076,7 @@
             
out.write(XByteBuffer.createDataPackage(message,data.getCompress()));
             out.flush();
             if (isWaitForAck())
-                waitForAck(ackTimeout);
+                waitForAck(getTimeout());
         } finally {
             synchronized(this) {
                 isMessageTransferStarted = false ;
@@ -940,7 +1122,7 @@
             missingAckCounter++;
             String errmsg = sm.getString("IDataSender.ack.missing", 
getAddress(),
                                          new Integer(socket.getLocalPort()), 
-                                         new Long(this.ackTimeout));
+                                         new Long(this.timeout));
             if ( !this.isSuspect() ) {
                 this.setSuspect(true);
                 if ( log.isWarnEnabled() ) log.warn(errmsg, x);

Modified: 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/ReplicationListener.java
 Mon Aug 13 11:32:58 2007
@@ -123,6 +123,7 @@
         serverChannel.configureBlocking (false);
         // register the ServerSocketChannel with the Selector
         serverChannel.register (selector, SelectionKey.OP_ACCEPT);
+        
         while (doListen && selector != null) {
             // this may block for a long time, upon return the
             // selected set contains keys of the ready channels
@@ -135,11 +136,11 @@
                     //selector wakeup().
                     //if that happens, we must ensure that that
                     //thread has enough time to call interestOps
-                    synchronized (interestOpsMutex) {
+                    //synchronized (interestOpsMutex) {
                         //if we got the lock, means there are no
                         //keys trying to register for the 
                         //interestOps method
-                    }
+                    //}
                     continue; // nothing to do
                 }
                 // get an iterator over the set of selected keys
@@ -151,7 +152,18 @@
                     if (key.isAcceptable()) {
                         ServerSocketChannel server =
                             (ServerSocketChannel) key.channel();
+                        // get channel
                         SocketChannel channel = server.accept();
+                        channel.socket().setReceiveBufferSize(getRxBufSize());
+                        channel.socket().setSendBufferSize(getTxBufSize());
+                        channel.socket().setTcpNoDelay(isTcpNoDelay());
+                        channel.socket().setKeepAlive(isSoKeepAlive());
+                        channel.socket().setOOBInline(isOoBInline());
+                        channel.socket().setReuseAddress(isSoReuseAddress());
+                        
channel.socket().setSoLinger(isSoLingerOn(),getSoLingerTime());
+                        channel.socket().setTrafficClass(getSoTrafficClass());
+                        channel.socket().setSoTimeout(getTimeout());
+                        // attach Reader and register channel
                         Object attach = new ObjectReader(channel, selector,
                                     this) ;
                         registerChannel(selector,

Modified: 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/SocketReplicationListener.java
 Mon Aug 13 11:32:58 2007
@@ -44,7 +44,7 @@
     /**
      * The descriptive information about this implementation.
      */
-    private static final String info = "SocketReplicationListener/1.2";
+    private static final String info = "SocketReplicationListener/1.3";
 
     //  ---------------------------------------------------- Properties
     private ServerSocket serverSocket = null;
@@ -100,6 +100,8 @@
         this.tcpListenTimeout = tcpListenTimeout;
     }
 
+
+
     //  ---------------------------------------------------- public methods
 
     /**
@@ -130,7 +132,8 @@
     //  ---------------------------------------------------- protected methods
 
     /**
-     * Master/Slave Sender handling / bind Server Socket at addres and port
+     * Master/Slave sender handling
+     * bind server socket to address and port
      * 
      * @throws Exception
      */
@@ -141,7 +144,7 @@
             return;
         }
 
-        // Get the associated ServerSocket to bind it with
+        // Get the associated ServerSocket to bind it with client
         try {
             serverSocket = createServerSocket();
             if(serverSocket != null) {
@@ -150,6 +153,17 @@
                     try {
                         Socket socket = serverSocket.accept();
                         if (doListen) {
+                            if ( socket == null ) continue;
+                            socket.setReceiveBufferSize(getRxBufSize());
+                            socket.setSendBufferSize(getTxBufSize());
+                            socket.setTcpNoDelay(isTcpNoDelay());
+                            socket.setKeepAlive(isSoKeepAlive());
+                            socket.setOOBInline(isOoBInline());
+                            socket.setReuseAddress(isSoReuseAddress());
+                            
socket.setSoLinger(isSoLingerOn(),getSoLingerTime());
+                            socket.setTrafficClass(getSoTrafficClass());
+                            socket.setSoTimeout(getTimeout());
+                            // Switch to separate thread and read all messages
                             SocketReplicationThread t = new 
SocketReplicationThread(
                                     this, socket);
                             t.setDaemon(true);
@@ -203,6 +217,7 @@
                             inet.getHostAddress(),
                             Integer.toString(i), 
                             ex.toString()));
+                try {Thread.sleep(25);}catch( InterruptedException ti) {}
                 continue;
             }
         }

Modified: 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
 (original)
+++ 
tomcat/container/tc5.5.x/modules/cluster/src/share/org/apache/catalina/cluster/tcp/mbeans-descriptors.xml
 Mon Aug 13 11:32:58 2007
@@ -123,6 +123,41 @@
     <attribute   name="tcpSelectorTimeout"
           description="tcp listener Selector timeout"
                  type="long"/>
+    <attribute   name="soTrafficClass"
+          description="traffic class (default 0x04 | 0x08 | 0x010)"
+                 type="int"/>
+    <attribute   name="rxBufSize"
+          description="receiver buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 25188)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="soTimeout and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="nrOfMsgsReceived"
           description="number of messages received from other nodes"
                  type="long"
@@ -220,6 +255,41 @@
           description="number of messages received from other nodes"
                  type="long"
                  writeable="false"/>
+    <attribute   name="soTrafficClass"
+          description="traffic class (default 0x04 | 0x08 | 0x010)"
+                 type="int"/>
+    <attribute   name="rxBufSize"
+          description="receiver buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 25188)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="soTimeout and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="receivedTime"
           description="total time message send time"
                  type="long"
@@ -395,8 +465,37 @@
                             is="true"
                  type="boolean"
                  writeable="false"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="connect and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="ackTimeout"
-          description="acknowledge timeout"
+          description="acknowledge timeout acknowledge timeout (deprecated use 
timeout)"
                  type="long"/>                 
     <attribute   name="avgMessageSize"
                  writeable="false"
@@ -577,8 +676,43 @@
                             is="true"
                  type="boolean"
                  writeable="false"/>
+    <attribute   name="soTrafficClass"
+          description="traffic class (default 0x04 | 0x08 | 0x010)"
+                 type="int"/>
+    <attribute   name="rxBufSize"
+          description="receiver buffer size (default 25188)"
+                 type="int"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="connect and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="ackTimeout"
-          description="acknowledge timeout"
+          description="acknowledge timeout (deprecated use timeout)"
                  type="long"/>
     <attribute   name="avgMessageSize"
                  writeable="false"
@@ -782,8 +916,43 @@
     <attribute   name="suspect"
           description="Socket is gone"
                  type="boolean"/>
+    <attribute   name="soTrafficClass"
+          description="traffic class (default 0x04 | 0x08 | 0x010)"
+                 type="int"/>
+    <attribute   name="rxBufSize"
+          description="receiver buffer size (default 25188)"
+                 type="int"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="connect and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="ackTimeout"
-          description="acknowledge timeout"
+          description="acknowledge timeout (deprecated use timeout)"
                  type="long"/>
     <attribute   name="waitForAck"
           description="Wait for ack after data send"
@@ -816,7 +985,7 @@
                  writeable="false"/>
     <attribute   name="avgMessageSize"
                  writeable="false"
-          description="avg message size (totalbytes/nrOfRequests"
+          description="avg message size (totalbytes/nrOfRequests)"
                  type="long"/>
     <attribute   name="nrOfRequests"
           description="number of send messages to other members"
@@ -868,8 +1037,43 @@
     <attribute   name="suspect"
           description="Socket is gone"
                  type="boolean"/>
+    <attribute   name="soTrafficClass"
+          description="traffic class (default 0x04 | 0x08 | 0x010)"
+                 type="int"/>
+    <attribute   name="rxBufSize"
+          description="receiver buffer size (default 25188)"
+                 type="int"/>
+    <attribute   name="txBufSize"
+          description="send buffer size (default 43800)"
+                 type="int"/>
+    <attribute   name="tcpNoDelay"
+          description="set tcpNoDelay (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soKeepAlive"
+          description="set soKeepAlive (default false)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="ooBInline"
+          description="set ooBInline (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soReuseAddress"
+          description="set soReuseAddress (default true)"
+                            is="true"
+                 type="boolean" />
+    <attribute   name="soLingerOn"
+          description="set soLingerOn (default false)"
+                            is="true"
+                 type="boolean" />             
+    <attribute   name="soLingerTime"
+          description="if soLingerOn use soLingerTime (default 3)"
+                 type="int"/>
+    <attribute   name="timeout"
+          description="connect and acknowledge timeout (default 3000 msec)"
+                 type="long"/>
     <attribute   name="ackTimeout"
-          description="acknowledge timeout"
+          description="acknowledge timeout (deprecated use timeout)"
                  type="long"/>
     <attribute   name="waitForAck"
           description="Wait for ack after data send"

Modified: tomcat/container/tc5.5.x/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/webapps/docs/changelog.xml?view=diff&rev=565469&r1=565468&r2=565469
==============================================================================
--- tomcat/container/tc5.5.x/webapps/docs/changelog.xml (original)
+++ tomcat/container/tc5.5.x/webapps/docs/changelog.xml Mon Aug 13 11:32:58 2007
@@ -132,6 +132,9 @@
   <subsection name="Cluster">
    <changelog>
      <fix>
+        Backport Tomcat 6 cluster socket parameter. (pero)
+     </fix>   
+     <fix>
         Fix typo in new MBean attribute which lead to errors in the manager 
webapp JMXProxy output. (rjung)
      </fix>     
      <fix>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to