Author: fhanik
Date: Wed Mar  1 08:05:24 2006
New Revision: 382068

URL: http://svn.apache.org/viewcvs?rev=382068&view=rev
Log:
The object reader buffer should be the same as the channel's receiver buffer to 
avoid having to grow the byte buffer
Added in the ability to control the size of the messages in the LoadTest

Modified:
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
    
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java?rev=382068&r1=382067&r2=382068&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/demos/LoadTest.java
 Wed Mar  1 08:05:24 2006
@@ -41,6 +41,7 @@
  */
 public class LoadTest implements MembershipListener,ChannelListener, Runnable {
     protected static org.apache.commons.logging.Log log = 
org.apache.commons.logging.LogFactory.getLog(LoadTest.class);
+    public static int size = 1020;
     public static Object mutex = new Object();
     public boolean doRun = true;
     
@@ -240,7 +241,7 @@
     
     
     public static class LoadMessage extends ByteMessage implements 
Serializable  {
-        public static int size = 1020;
+        
         public static byte[] outdata = new byte[size];
         public static Random r = new Random(System.currentTimeMillis());
         public static int getMessageSize (LoadMessage msg) {
@@ -304,6 +305,7 @@
                            "[-stats statinterval]  \n\t\t"+
                            "[-pause nrofsecondstopausebetweensends]  \n\t\t"+
                            "[-threads numberofsenderthreads]  \n\t\t"+
+                           "[-size messagesize]  \n\t\t"+
                            "[-break (halts execution on exception)]\n"+
                            "\tChannel options:"+
                            ChannelCreator.usage()+"\n\n"+
@@ -337,6 +339,9 @@
             } else if ("-stats".equals(args[i])) {
                 stats = Integer.parseInt(args[++i]);
                 System.out.println("Stats every "+stats+" message");
+            } else if ("-size".equals(args[i])) {
+                size = Integer.parseInt(args[++i])-4;
+                System.out.println("Message size will be:"+(size+4)+" bytes");
             } else if ("-mode".equals(args[i])) {
                 if ( "receive".equals(args[++i]) ) send = false;
             } else if ("-debug".equals(args[i])) {

Modified: 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
URL: 
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java?rev=382068&r1=382067&r2=382068&view=diff
==============================================================================
--- 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
 (original)
+++ 
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/io/ObjectReader.java
 Wed Mar  1 08:05:24 2006
@@ -19,6 +19,7 @@
 import java.nio.channels.Selector;
 import java.nio.channels.SocketChannel;
 import org.apache.catalina.tribes.ChannelMessage;
+import java.io.IOException;
 
 
 
@@ -32,11 +33,12 @@
  * for message encoding and decoding.
  *
  * @author Filip Hanik
- * @author Peter Rossbach
  * @version $Revision: 377484 $, $Date: 2006-02-13 15:00:05 -0600 (Mon, 13 Feb 
2006) $
  */
 public class ObjectReader {
 
+    protected static org.apache.commons.logging.Log log = 
org.apache.commons.logging.LogFactory.getLog(ObjectReader.class);
+
     private SocketChannel channel;
 
     private ListenCallback callback;
@@ -52,7 +54,13 @@
     public ObjectReader(SocketChannel channel, Selector selector, 
ListenCallback callback) {
         this.channel = channel;
         this.callback = callback;
-        this.buffer = new XByteBuffer(true);
+        try {
+            this.buffer = new 
XByteBuffer(channel.socket().getReceiveBufferSize(), true);
+        }catch ( IOException x ) {
+            //unable to get buffer size
+            log.warn("Unable to retrieve the socket channel receiver buffer 
size, setting to default 43800 bytes.");
+            this.buffer = new XByteBuffer(43800,true);
+        }
     }
 
     /**



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

Reply via email to