[Udt-java-commits] SF.net SVN: udt-java:[62] udt-java/skunk/src/test/java
Status: Alpha
Brought to you by:
bschuller
From: <tho...@us...> - 2011-08-13 00:23:28
|
Revision: 62 http://udt-java.svn.sourceforge.net/udt-java/?rev=62&view=rev Author: thomasowens Date: 2011-08-13 00:23:21 +0000 (Sat, 13 Aug 2011) Log Message: ----------- Updated tests to reflect that UDPEndpoint was replaced by UDPMultiplexer. Modified Paths: -------------- udt-java/skunk/src/test/java/echo/EchoServer.java udt-java/skunk/src/test/java/udt/TestSendFileReceiveFile.java udt-java/skunk/src/test/java/udt/TestUdpEndpoint.java udt-java/skunk/src/test/java/udt/performance/UDPTest.java Modified: udt-java/skunk/src/test/java/echo/EchoServer.java =================================================================== --- udt-java/skunk/src/test/java/echo/EchoServer.java 2011-08-05 06:54:24 UTC (rev 61) +++ udt-java/skunk/src/test/java/echo/EchoServer.java 2011-08-13 00:23:21 UTC (rev 62) @@ -11,81 +11,85 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import udt.UDTInputStream; -import udt.UDTOutputStream; import udt.UDTServerSocket; -import udt.UDTSocket; import udt.util.UDTThreadFactory; -public class EchoServer implements Runnable{ +public class EchoServer implements Runnable { - final ExecutorService pool=Executors.newFixedThreadPool(2); + final ExecutorService pool = Executors.newFixedThreadPool(2); final UDTServerSocket server; final Thread serverThread; - volatile boolean started=false; - volatile boolean stopped=false; + volatile boolean started = false; + volatile boolean stopped = false; - public EchoServer(int port)throws Exception{ - server=new UDTServerSocket(InetAddress.getByName("localhost"),port); - serverThread=UDTThreadFactory.get().newThread(this); + public EchoServer(int port) throws Exception { + server = new UDTServerSocket(InetAddress.getByName("localhost"), port); + serverThread = UDTThreadFactory.get().newThread(this); } - public void start(){ + public void start() { serverThread.start(); } - - public void stop(){ - stopped=true; + + public void stop() { + stopped = true; } - public void run(){ - try{ - started=true; - while(!stopped){ - final Socket socket=server.accept(); + + public void run() { + try { + started = true; + while (!stopped) { + final Socket socket = server.accept(); pool.execute(new Request(socket)); } - }catch(Exception ex){ + } catch (Exception ex) { ex.printStackTrace(); } } - static String readLine(InputStream r)throws IOException{ - ByteArrayOutputStream bos=new ByteArrayOutputStream(); - while(true){ - int c=r.read(); - if(c<0 && bos.size()==0)return null; - if(c<0 || c==10)break; - else bos.write(c); + static String readLine(InputStream r) throws IOException { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + while (true) { + int c = r.read(); + if (c < 0 && bos.size() == 0) + return null; + if (c < 0 || c == 10) + break; + else + bos.write(c); } return bos.toString(); } + public static class Request implements Runnable { - public static class Request implements Runnable{ - final Socket socket; - public Request(Socket socket){ - this.socket=socket; + public Request(Socket socket) { + this.socket = socket; } - public void run(){ - try{ - System.out.println("Processing request from <"+socket.getRemoteSocketAddress().toString()+">"); - InputStream in=socket.getInputStream(); - OutputStream out=socket.getOutputStream(); - PrintWriter writer=new PrintWriter(new OutputStreamWriter(out)); - String line=readLine(in); - if(line!=null){ - System.out.println("ECHO: "+line); - //else echo back the line + public void run() { + try { + System.out.println("Processing request from <" + + socket.getRemoteSocketAddress().toString() + ">"); + InputStream in = socket.getInputStream(); + OutputStream out = socket.getOutputStream(); + PrintWriter writer = new PrintWriter( + new OutputStreamWriter(out)); + String line = readLine(in); + if (line != null) { + System.out.println("ECHO: " + line); + // else echo back the line writer.println(line); writer.flush(); } - System.out.println("Request from <"+socket.getRemoteSocketAddress().toString()+"> finished."); - }catch(Exception ex){ + System.out.println("Request from <" + + socket.getRemoteSocketAddress().toString() + + "> finished."); + } catch (Exception ex) { ex.printStackTrace(); } } Modified: udt-java/skunk/src/test/java/udt/TestSendFileReceiveFile.java =================================================================== --- udt-java/skunk/src/test/java/udt/TestSendFileReceiveFile.java 2011-08-05 06:54:24 UTC (rev 61) +++ udt-java/skunk/src/test/java/udt/TestSendFileReceiveFile.java 2011-08-13 00:23:21 UTC (rev 62) @@ -2,13 +2,14 @@ import java.io.File; import java.io.FileInputStream; +import java.util.logging.Logger; import udt.util.ReceiveFile; import udt.util.SendFile; import udt.util.UDTThreadFactory; public class TestSendFileReceiveFile extends UDTTestBase{ - + volatile boolean serverStarted=false; public void test1()throws Exception{ Modified: udt-java/skunk/src/test/java/udt/TestUdpEndpoint.java =================================================================== --- udt-java/skunk/src/test/java/udt/TestUdpEndpoint.java 2011-08-05 06:54:24 UTC (rev 61) +++ udt-java/skunk/src/test/java/udt/TestUdpEndpoint.java 2011-08-13 00:23:21 UTC (rev 62) @@ -7,74 +7,80 @@ import udt.packets.UDTSocketAddress; -public class TestUdpEndpoint extends UDTTestBase{ +public class TestUdpEndpoint extends UDTTestBase { - public void testClientServerMode()throws Exception{ + public void testClientServerMode() throws Exception { - //select log level + // select log level Logger.getLogger("udt").setLevel(Level.INFO); - - UDPEndPoint server= UDPEndPoint.get(InetAddress.getByName("localhost"),65322); + + UDPMultiplexer server = UDPMultiplexer.get( + InetAddress.getByName("localhost"), 65322); server.start(); - UDTClient client=new UDTClient(InetAddress.getByName("localhost"),12346); + UDTClient client = new UDTClient(InetAddress.getByName("localhost"), + 12346); client.connect("localhost", 65322); - - //test a large message (resulting in multiple data packets) - int num_packets=100; - int N=num_packets*1024; - byte[]data=getRandomData(N); - + + // test a large message (resulting in multiple data packets) + int num_packets = 100; + int N = num_packets * 1024; + byte[] data = getRandomData(N); + client.sendBlocking(data); Thread.sleep(2000); System.out.println(client.getStatistics()); - System.out.println(server.getSessions().iterator().next().getStatistics()); - int sent=client.getStatistics().getNumberOfSentDataPackets(); - int received=server.getSessions().iterator().next().getStatistics().getNumberOfReceivedDataPackets(); + System.out.println(server.getSessions().iterator().next() + .getStatistics()); + int sent = client.getStatistics().getNumberOfSentDataPackets(); + int received = server.getSessions().iterator().next().getStatistics() + .getNumberOfReceivedDataPackets(); assertEquals(sent, received); - + server.stop(); Thread.sleep(2000); - } - - + } + /** * just check how fast we can send out UDP packets from the endpoint + * * @throws Exception */ - public void testRawSendRate()throws Exception{ + public void testRawSendRate() throws Exception { Logger.getLogger("udt").setLevel(Level.WARNING); System.out.println("Checking raw UDP send rate..."); - InetAddress localhost=InetAddress.getByName("localhost"); - UDPEndPoint endpoint=UDPEndPoint.get(localhost,65322); + InetAddress localhost = InetAddress.getByName("localhost"); + UDPMultiplexer endpoint = UDPMultiplexer.get(localhost, 65322); endpoint.start(); - int socketID = endpoint.getUniqueSocketID(); - UDTSocketAddress d1=new UDTSocketAddress(localhost,12345,socketID); - int dataSize=UDTSession.DEFAULT_DATAGRAM_SIZE; - DatagramPacket p=new DatagramPacket(getRandomData(dataSize),dataSize,d1.getAddress(),d1.getPort()); - int N=100000; - long start=System.currentTimeMillis(); - //send many packets as fast as we can - for(int i=0;i<N;i++){ + int socketID = endpoint.getUniqueSocketID(); + UDTSocketAddress d1 = new UDTSocketAddress(localhost, 12345, socketID); + int dataSize = UDTSession.DEFAULT_DATAGRAM_SIZE; + DatagramPacket p = new DatagramPacket(getRandomData(dataSize), + dataSize, d1.getAddress(), d1.getPort()); + int N = 100000; + long start = System.currentTimeMillis(); + // send many packets as fast as we can + for (int i = 0; i < N; i++) { endpoint.sendRaw(p); } - long end=System.currentTimeMillis(); - float rate=1000*N/(end-start); - System.out.println("PacketRate: "+(int)rate+" packets/sec."); - float dataRate=dataSize*rate/1024/1024; - System.out.println("Data Rate: "+(int)dataRate+" MBytes/sec."); + long end = System.currentTimeMillis(); + float rate = 1000 * N / (end - start); + System.out.println("PacketRate: " + (int) rate + " packets/sec."); + float dataRate = dataSize * rate / 1024 / 1024; + System.out.println("Data Rate: " + (int) dataRate + " MBytes/sec."); endpoint.stop(); Thread.sleep(1000); } - - //no rendezvous yet... - public void x_testRendezvousConnect()throws Exception{ - + + // no rendezvous yet... + public void x_testRendezvousConnect() throws Exception { + } - - public void testBindToAnyPort()throws Exception{ - UDPEndPoint ep=UDPEndPoint.get(InetAddress.getByName("localhost"),0); - int port=ep.getLocalPort(); - assertTrue(port>0); + + public void testBindToAnyPort() throws Exception { + UDPMultiplexer ep = UDPMultiplexer.get( + InetAddress.getByName("localhost"), 0); + int port = ep.getLocalPort(); + assertTrue(port > 0); } - + } Modified: udt-java/skunk/src/test/java/udt/performance/UDPTest.java =================================================================== --- udt-java/skunk/src/test/java/udt/performance/UDPTest.java 2011-08-05 06:54:24 UTC (rev 61) +++ udt-java/skunk/src/test/java/udt/performance/UDPTest.java 2011-08-13 00:23:21 UTC (rev 62) @@ -8,7 +8,7 @@ import java.util.concurrent.SynchronousQueue; import junit.framework.TestCase; -import udt.UDPEndPoint; +import udt.UDPMultiplexer; import udt.packets.DataPacket; import udt.util.MeanValue; @@ -17,30 +17,32 @@ */ public class UDPTest extends TestCase { - final int num_packets=10*10*1000; - final int packetSize=UDPEndPoint.DATAGRAM_SIZE; + final int num_packets = 10 * 10 * 1000; + final int packetSize = UDPMultiplexer.DATAGRAM_SIZE; - public void test1()throws Exception{ + public void test1() throws Exception { runServer(); runThirdThread(); - - //client socket - DatagramSocket s=new DatagramSocket(12345); - - //generate a test array with random content - N=num_packets*packetSize; - byte[]data=new byte[packetSize]; + + // client socket + DatagramSocket s = new DatagramSocket(12345); + + // generate a test array with random content + N = num_packets * packetSize; + byte[] data = new byte[packetSize]; new Random().nextBytes(data); - long start=System.currentTimeMillis(); - DatagramPacket dp=new DatagramPacket(new byte[packetSize],packetSize); + long start = System.currentTimeMillis(); + DatagramPacket dp = new DatagramPacket(new byte[packetSize], packetSize); dp.setAddress(InetAddress.getByName("localhost")); dp.setPort(65321); - System.out.println("Sending "+num_packets+" data blocks of <"+packetSize+"> bytes"); - MeanValue dgSendTime=new MeanValue("Datagram send time",false); - MeanValue dgSendInterval=new MeanValue("Datagram send interval",false); - - for(int i=0;i<num_packets;i++){ - DataPacket p=new DataPacket(); + System.out.println("Sending " + num_packets + " data blocks of <" + + packetSize + "> bytes"); + MeanValue dgSendTime = new MeanValue("Datagram send time", false); + MeanValue dgSendInterval = new MeanValue("Datagram send interval", + false); + + for (int i = 0; i < num_packets; i++) { + DataPacket p = new DataPacket(); p.setData(data); dp.setData(p.getEncoded()); dgSendInterval.end(); @@ -50,72 +52,76 @@ dgSendInterval.begin(); } System.out.println("Finished sending."); - while(serverRunning)Thread.sleep(10); + while (serverRunning) + Thread.sleep(10); System.out.println("Server stopped."); - long end=System.currentTimeMillis(); - System.out.println("Done. Sending "+N/1024/1024+" Mbytes took "+(end-start)+" ms"); - float rate=N/1000/(end-start); - System.out.println("Rate "+rate+" Mbytes/sec "+(rate*8)+ " Mbit/sec"); - System.out.println("Rate "+num_packets+" packets/sec"); - System.out.println("Mean send time "+dgSendTime.get()); - System.out.println("Mean send interval "+dgSendInterval.get()); - System.out.println("Server received: "+total); + long end = System.currentTimeMillis(); + System.out.println("Done. Sending " + N / 1024 / 1024 + " Mbytes took " + + (end - start) + " ms"); + float rate = N / 1000 / (end - start); + System.out.println("Rate " + rate + " Mbytes/sec " + (rate * 8) + + " Mbit/sec"); + System.out.println("Rate " + num_packets + " packets/sec"); + System.out.println("Mean send time " + dgSendTime.get()); + System.out.println("Mean send interval " + dgSendInterval.get()); + System.out.println("Server received: " + total); } - int N=0; - long total=0; - volatile boolean serverRunning=true; + int N = 0; + long total = 0; + volatile boolean serverRunning = true; - private void runServer()throws Exception{ - //server socket - final DatagramSocket serverSocket=new DatagramSocket(65321); + private void runServer() throws Exception { + // server socket + final DatagramSocket serverSocket = new DatagramSocket(65321); - Runnable serverProcess=new Runnable(){ - public void run(){ - try{ - byte[]buf=new byte[packetSize]; - DatagramPacket dp=new DatagramPacket(buf,buf.length); - while(true){ + Runnable serverProcess = new Runnable() { + public void run() { + try { + byte[] buf = new byte[packetSize]; + DatagramPacket dp = new DatagramPacket(buf, buf.length); + while (true) { serverSocket.receive(dp); handoff.offer(dp); - total+=dp.getLength(); + total += dp.getLength(); } - } - catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } - serverRunning=false; + serverRunning = false; } }; - Thread t=new Thread(serverProcess); + Thread t = new Thread(serverProcess); t.start(); } - - private final BlockingQueue<DatagramPacket> handoff=new SynchronousQueue<DatagramPacket>(); - - private void runThirdThread()throws Exception{ - Runnable serverProcess=new Runnable(){ - public void run(){ - try{ - long start=System.currentTimeMillis(); - while(true){ - DatagramPacket dp=handoff.poll(); - if(dp!=null)total+=dp.getLength(); - if(total==N)break; + + private final BlockingQueue<DatagramPacket> handoff = new SynchronousQueue<DatagramPacket>(); + + private void runThirdThread() throws Exception { + Runnable serverProcess = new Runnable() { + public void run() { + try { + long start = System.currentTimeMillis(); + while (true) { + DatagramPacket dp = handoff.poll(); + if (dp != null) + total += dp.getLength(); + if (total == N) + break; } - long end=System.currentTimeMillis(); - System.out.println("Server time: "+(end-start)+" ms."); + long end = System.currentTimeMillis(); + System.out + .println("Server time: " + (end - start) + " ms."); - } - catch(Exception e){ + } catch (Exception e) { e.printStackTrace(); } - serverRunning=false; + serverRunning = false; } }; - Thread t=new Thread(serverProcess); + Thread t = new Thread(serverProcess); t.start(); - + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |