package net.tomp2p.rpc; import net.tomp2p.connection2.ChannelCreator; import net.tomp2p.connection2.DefaultConnectionConfiguration; import net.tomp2p.futures.FutureChannelCreator; import net.tomp2p.futures.FutureResponse; import net.tomp2p.p2p.Peer; import net.tomp2p.p2p.PeerMaker; import net.tomp2p.peers.Number160; import org.junit.Assert; import org.junit.Test; public class TestReservation { /* * @Test public void testReservationTCPL() throws Exception { for(int i=0;i<100;i++) testReservationTCP(); } */ @Test public void testReservationTCP() throws Exception { Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x9876")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x1234")).p2pId(55).ports(8088).makeAndListen(); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(0, 3); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); for (int i = 0; i < 1000; i++) { FutureResponse fr1 = sender.getHandshakeRPC().pingTCP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); FutureResponse fr2 = sender.getHandshakeRPC().pingTCP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); FutureResponse fr3 = sender.getHandshakeRPC().pingTCP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); fr1.awaitUninterruptibly(); fr2.awaitUninterruptibly(); fr3.awaitUninterruptibly(); System.err.println(fr1.getFailedReason() + " / " + fr2.getFailedReason() + " / " + fr3.getFailedReason()); Assert.assertEquals(true, fr1.isSuccess()); Assert.assertEquals(true, fr2.isSuccess()); Assert.assertEquals(true, fr3.isSuccess()); } } catch (Throwable t) { t.printStackTrace(); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } /* * @Test public void testReservationUDPL() throws Exception { for(int i=0;i<100;i++) testReservationUDP(); } */ @Test public void testReservationUDP() throws Exception { Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x9876")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x1234")).p2pId(55).ports(8088).makeAndListen(); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(3, 0); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); for (int i = 0; i < 1000; i++) { FutureResponse fr1 = sender.getHandshakeRPC().pingUDP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); FutureResponse fr2 = sender.getHandshakeRPC().pingUDP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); FutureResponse fr3 = sender.getHandshakeRPC().pingUDP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); fr1.awaitUninterruptibly(); fr2.awaitUninterruptibly(); fr3.awaitUninterruptibly(); System.err.println(fr1.getFailedReason() + " / " + fr2.getFailedReason() + " / " + fr3.getFailedReason()); Assert.assertEquals(true, fr1.isSuccess()); Assert.assertEquals(true, fr2.isSuccess()); Assert.assertEquals(true, fr3.isSuccess()); } } catch (Throwable t) { t.printStackTrace(); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } }