Author: fhanik
Date: Fri Jun 30 06:23:48 2006
New Revision: 418260
URL: http://svn.apache.org/viewvc?rev=418260&view=rev
Log:
Useful tests for testing tribes low level IO connectors
Added:
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioReceive.java
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioSend.java
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketReceive.java
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketSend.java
Added:
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioReceive.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioReceive.java?rev=418260&view=auto
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioReceive.java
(added)
+++
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioReceive.java
Fri Jun 30 06:23:48 2006
@@ -0,0 +1,63 @@
+package org.apache.catalina.tribes.demos;
+
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import org.apache.catalina.tribes.transport.nio.NioReceiver;
+import org.apache.catalina.tribes.MessageListener;
+import org.apache.catalina.tribes.ChannelMessage;
+import org.apache.catalina.tribes.io.XByteBuffer;
+import org.apache.catalina.tribes.io.ChannelData;
+import org.apache.catalina.tribes.membership.MemberImpl;
+import org.apache.catalina.tribes.Member;
+
+public class SocketNioReceive {
+
+ public static void main(String[] args) throws Exception {
+ Member mbr = new MemberImpl("localhost", 9999, 0);
+ ChannelData data = new ChannelData();
+ data.setAddress(mbr);
+ byte[] buf = new byte[8192 * 4];
+ data.setMessage(new XByteBuffer(buf, false));
+ buf = XByteBuffer.createDataPackage(data);
+ int len = buf.length;
+ NioReceiver receiver = new NioReceiver();
+ receiver.setPort(9999);
+ receiver.setHost("localhost");
+ MyList list = new MyList(len);
+ receiver.setMessageListener(list);
+ receiver.start();
+ System.out.println("Listening on 9999");
+ Thread.sleep(100000);
+ }
+
+ public static class MyList implements MessageListener {
+ public MyList(int len) {
+ this.len = len;
+ }
+ boolean first = true;
+ int count = 0;
+ DecimalFormat df = new DecimalFormat("##.00");
+ long start = 0;
+ double mb;
+ int len;
+ public void messageReceived(ChannelMessage msg) {
+ if (first) {
+ first = false;
+ start = System.currentTimeMillis();
+ }
+ mb += ( (double) len) / 1024 / 1024;
+ if ( ( (count++) % 10000) == 0) {
+ long time = System.currentTimeMillis();
+ double seconds = ( (double) (time - start)) / 1000;
+ System.out.println("Throughput " + df.format(mb / seconds) + "
MB/seconds");
+ }
+ }
+
+ public boolean accept(ChannelMessage msg) {
+ return true;
+ }
+
+ }
+}
Added:
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioSend.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioSend.java?rev=418260&view=auto
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioSend.java
(added)
+++
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketNioSend.java
Fri Jun 30 06:23:48 2006
@@ -0,0 +1,82 @@
+package org.apache.catalina.tribes.demos;
+
+import java.io.OutputStream;
+import java.net.Socket;
+import java.text.DecimalFormat;
+import org.apache.catalina.tribes.transport.nio.NioSender;
+import org.apache.catalina.tribes.membership.MemberImpl;
+import java.nio.channels.Selector;
+import org.apache.catalina.tribes.io.XByteBuffer;
+import org.apache.catalina.tribes.Member;
+import java.nio.channels.SelectionKey;
+import java.util.Iterator;
+import org.apache.catalina.tribes.Channel;
+import org.apache.catalina.tribes.io.ChannelData;
+
+public class SocketNioSend {
+
+ public static void main(String[] args) throws Exception {
+ Selector selector = Selector.open();
+ Member mbr = new MemberImpl("localhost", 9999, 0);
+ ChannelData data = new ChannelData();
+ data.setAddress(mbr);
+ byte[] buf = new byte[8192 * 4];
+ data.setMessage(new XByteBuffer(buf,false));
+ buf = XByteBuffer.createDataPackage(data);
+ int len = buf.length;
+ NioSender sender = new NioSender();
+ sender.setDestination(mbr);
+ sender.setDirectBuffer(true);
+ sender.setSelector(selector);
+ sender.connect();
+ sender.setMessage(buf);
+ System.out.println("Writing to 9999");
+ long start = 0;
+ double mb = 0;
+ boolean first = true;
+ int count = 0;
+ DecimalFormat df = new DecimalFormat("##.00");
+ while (true) {
+ if (first) {
+ first = false;
+ start = System.currentTimeMillis();
+ }
+ sender.setMessage(buf);
+ int selectedKeys = 0;
+ try {
+ selectedKeys = selector.select(0);
+ } catch (Exception e) {
+ e.printStackTrace();
+ continue;
+ }
+
+ if (selectedKeys == 0) {
+ continue;
+ }
+
+ Iterator it = selector.selectedKeys().iterator();
+ while (it.hasNext()) {
+ SelectionKey sk = (SelectionKey) it.next();
+ it.remove();
+ try {
+ int readyOps = sk.readyOps();
+ sk.interestOps(sk.interestOps() & ~readyOps);
+ if (sender.process(sk, false)) {
+ sender.reset();
+ sender.setMessage(buf);
+ mb += ( (double) len) / 1024 / 1024;
+ if ( ( (count++) % 10000) == 0) {
+ long time = System.currentTimeMillis();
+ double seconds = ( (double) (time - start)) / 1000;
+ System.out.println("Throughput " + df.format(mb /
seconds) + " MB/seconds");
+ }
+ }
+
+ } catch (Throwable t) {
+ t.printStackTrace();
+ return;
+ }
+ }
+ }
+ }
+}
Added:
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketReceive.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketReceive.java?rev=418260&view=auto
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketReceive.java
(added)
+++
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketReceive.java
Fri Jun 30 06:23:48 2006
@@ -0,0 +1,34 @@
+package org.apache.catalina.tribes.demos;
+
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+
+public class SocketReceive {
+
+ public static void main(String[] args) throws Exception {
+
+ ServerSocket srvSocket = new ServerSocket(9999);
+ System.out.println("Listening on 9999");
+ Socket socket = srvSocket.accept();
+ InputStream in = socket.getInputStream();
+ long start = 0;
+ double mb = 0;
+ byte[] buf = new byte[8192 * 4];
+ boolean first = true;
+ int count = 0;
+ DecimalFormat df = new DecimalFormat("##.00");
+ while ( true ) {
+ if ( first ) { first = false; start = System.currentTimeMillis();}
+ int len = in.read(buf);
+ mb += ( (double) len) / 1024 / 1024;
+ if ( ((count++) % 10000) == 0 ) {
+ long time = System.currentTimeMillis();
+ double seconds = ((double)(time-start))/1000;
+ System.out.println("Throughput "+df.format(mb/seconds)+"
MB/seconds");
+ }
+ }
+
+ }
+}
\ No newline at end of file
Added:
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketSend.java
URL:
http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketSend.java?rev=418260&view=auto
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketSend.java
(added)
+++
tomcat/container/tc5.5.x/modules/groupcom/test/java/org/apache/catalina/tribes/demos/SocketSend.java
Fri Jun 30 06:23:48 2006
@@ -0,0 +1,42 @@
+package org.apache.catalina.tribes.demos;
+
+import java.io.OutputStream;
+import java.net.Socket;
+import java.text.DecimalFormat;
+import org.apache.catalina.tribes.membership.MemberImpl;
+import org.apache.catalina.tribes.io.XByteBuffer;
+import org.apache.catalina.tribes.Member;
+import org.apache.catalina.tribes.io.ChannelData;
+
+public class SocketSend {
+
+ public static void main(String[] args) throws Exception {
+ Member mbr = new MemberImpl("localhost", 9999, 0);
+ ChannelData data = new ChannelData();
+ data.setAddress(mbr);
+ byte[] buf = new byte[8192 * 4];
+ data.setMessage(new XByteBuffer(buf,false));
+ buf = XByteBuffer.createDataPackage(data);
+ int len = buf.length;
+
+ Socket socket = new Socket("localhost",9999);
+ System.out.println("Writing to 9999");
+ OutputStream out = socket.getOutputStream();
+ long start = 0;
+ double mb = 0;
+ boolean first = true;
+ int count = 0;
+ DecimalFormat df = new DecimalFormat("##.00");
+ while ( true ) {
+ if ( first ) { first = false; start = System.currentTimeMillis();}
+ out.write(buf);
+ mb += ( (double) buf.length) / 1024 / 1024;
+ if ( ((count++) % 10000) == 0 ) {
+ long time = System.currentTimeMillis();
+ double seconds = ((double)(time-start))/1000;
+ System.out.println("Throughput "+df.format(mb/seconds)+"
MB/seconds");
+ }
+ }
+
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]