test/java/nio/channels/DatagramChannel/AdaptDatagramSocket.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 25,57 **** * @bug 4313882 4981129 * @summary Unit test for datagram-socket-channel adaptors * @library .. */ - import java.io.*; import java.net.*; - import java.nio.*; import java.nio.channels.*; - import java.nio.charset.*; import java.util.*; public class AdaptDatagramSocket { static java.io.PrintStream out = System.out; - static Random rand = new Random(); - static final int ECHO_PORT = 7; - static final int DISCARD_PORT = 9; - static final String REMOTE_HOST = TestUtil.HOST; - - static final InetSocketAddress echoAddress - = new InetSocketAddress(REMOTE_HOST, ECHO_PORT); - static final InetSocketAddress discardAddress - = new InetSocketAddress(REMOTE_HOST, DISCARD_PORT); - static String toString(DatagramPacket dp) { return ("DatagramPacket[off=" + dp.getOffset() + ", len=" + dp.getLength() + "]"); } --- 25,44 ----
*** 86,99 **** } out.println("rtt: " + (System.currentTimeMillis() - start)); out.println("post op: " + toString(op) + " ip: " + toString(ip)); ! for (int i = 0; i < ip.getLength(); i++) if (ip.getData()[ip.getOffset() + i] != op.getData()[op.getOffset() + i]) throw new Exception("Incorrect data received"); if (!(ip.getSocketAddress().equals(dst))) { throw new Exception("Incorrect sender address, expected: " + dst + " actual: " + ip.getSocketAddress()); } --- 73,87 ---- } out.println("rtt: " + (System.currentTimeMillis() - start)); out.println("post op: " + toString(op) + " ip: " + toString(ip)); ! for (int i = 0; i < ip.getLength(); i++) { if (ip.getData()[ip.getOffset() + i] != op.getData()[op.getOffset() + i]) throw new Exception("Incorrect data received"); + } if (!(ip.getSocketAddress().equals(dst))) { throw new Exception("Incorrect sender address, expected: " + dst + " actual: " + ip.getSocketAddress()); }
*** 128,148 **** if (timeout > 0) ds.setSoTimeout(timeout); out.println("timeout: " + ds.getSoTimeout()); ! for (int i = 0; i < 5; i++) test(ds, dst, shouldTimeout); // Leave the socket open so that we don't reuse the old src address //ds.close(); } public static void main(String[] args) throws Exception { ! test(echoAddress, 0, false, false); ! test(echoAddress, 0, false, true); ! test(echoAddress, 5000, false, false); ! test(discardAddress, 10, true, false); } } --- 116,150 ---- if (timeout > 0) ds.setSoTimeout(timeout); out.println("timeout: " + ds.getSoTimeout()); ! for (int i = 0; i < 5; i++) { test(ds, dst, shouldTimeout); + } // Leave the socket open so that we don't reuse the old src address //ds.close(); } public static void main(String[] args) throws Exception { ! // need an UDP echo server ! try (TestClass.UdpEchoServer echoServer ! = TestClass.UdpEchoServer.startNewServer(100)) { ! final InetSocketAddress address ! = new InetSocketAddress(echoServer.getAddress(), ! echoServer.getPort()); ! test(address, 0, false, false); ! test(address, 0, false, true); ! test(address, 5000, false, false); ! } ! try (TestClass.UdpDiscardServer discardServer ! = TestClass.UdpDiscardServer.startNewServer()) { ! final InetSocketAddress address ! = new InetSocketAddress(discardServer.getAddress(), ! discardServer.getPort()); ! test(address, 10, true, false); ! } } }