[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.
|