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]