public void setUp() throws Exception { super.setUp(); // p1 <--> p2 <--> p3 peer 1 cannot reach peer 3 myProtocolContainer1 = getProtocolContainer(-1, false, "1"); myServer1 = getP2PServer(myProtocolContainer1, RoutingProtocol.START_PORT); RoutingProtocol theRoutingProtocol1 = (RoutingProtocol) myProtocolContainer1.getProtocol(RoutingProtocol.ID); myTransferProtocl1 = ((AsyncTransferProtocol) myProtocolContainer1.getProtocol(AsyncTransferProtocol.ID)); myProtocolContainer2 = getProtocolContainer(-1, false, "2"); myServer2 = getP2PServer(myProtocolContainer2, RoutingProtocol.START_PORT + 1); RoutingProtocol theRoutingProtocol2 = (RoutingProtocol) myProtocolContainer2.getProtocol(RoutingProtocol.ID); myTransferProtocol2 = ((AsyncTransferProtocol) myProtocolContainer2.getProtocol(AsyncTransferProtocol.ID)); assertTrue(myServer1.start()); assertTrue(myServer2.start()); theRoutingProtocol1.scanLocalSystem(); theRoutingProtocol2.scanLocalSystem(); Thread.sleep(SLEEP_AFTER_SCAN); for (int i = 0; i < 5; i++) { theRoutingProtocol1.exchangeRoutingTable(); theRoutingProtocol2.exchangeRoutingTable(); } RoutingTable theRoutingTable1 = ((RoutingProtocol) myProtocolContainer1.getProtocol(RoutingProtocol.ID)).getRoutingTable(); RoutingTable theRoutingTable2 = ((RoutingProtocol) myProtocolContainer2.getProtocol(RoutingProtocol.ID)).getRoutingTable(); RoutingTableEntry thePeer2 = theRoutingTable1.getEntryForPeer(theRoutingTable2.getLocalPeerId()); assertNotNull(thePeer2.getPeer()); assertTrue(thePeer2.isReachable()); }
public void tearDown() { if (myServer1 != null) myServer1.stop(); if (myServer2 != null) myServer2.stop(); }