Java FutureResponse.awaitUninterruptibly方法代码示例

您所在的位置:网站首页 P2PID:HOW-251393-ZRkJX Java FutureResponse.awaitUninterruptibly方法代码示例

Java FutureResponse.awaitUninterruptibly方法代码示例

#Java FutureResponse.awaitUninterruptibly方法代码示例| 来源: 网络整理| 查看: 265

本文整理汇总了Java中net.tomp2p.futures.FutureResponse.awaitUninterruptibly方法的典型用法代码示例。如果您正苦于以下问题:Java FutureResponse.awaitUninterruptibly方法的具体用法?Java FutureResponse.awaitUninterruptibly怎么用?Java FutureResponse.awaitUninterruptibly使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.tomp2p.futures.FutureResponse的用法示例。

在下文中一共展示了FutureResponse.awaitUninterruptibly方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testNeigbhor2 import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testNeigbhor2() throws Exception { Peer sender = null; Peer recv1 = null; try { sender = new PeerMaker(new Number160("0x50")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x20")).p2pId(55).ports(8088).makeAndListen(); new NeighborRPC(sender.getPeerBean(), sender.getConnectionBean()); NeighborRPC neighbors2 = new NeighborRPC(recv1.getPeerBean(), recv1.getConnectionBean()); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(1, 0); fcc.awaitUninterruptibly(); ChannelCreator cc = fcc.getChannelCreator(); SearchValues v = new SearchValues(new Number160("0x30"), null); FutureResponse fr = neighbors2.closeNeighbors(sender.getPeerAddress(), v, Type.REQUEST_2, cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); NeighborSet pas = fr.getResponse().getNeighborsSet(0); // I see no one, not evenmyself. My peer was added in the overflow map Assert.assertEquals(0, pas.size()); cc.shutdown(); } finally { if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:34,代码来源:TestNeighbor.java 示例2: testObjectSendExample import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testObjectSendExample() throws Exception { Peer p1 = null; Peer p2 = null; try { p1 = new PeerMaker(new Number160(rnd)).ports(4001).makeAndListen(); p2 = new PeerMaker(new Number160(rnd)).ports(4002).makeAndListen(); // attach reply handler p2.setObjectDataReply(new ObjectDataReply() { @Override public Object reply(PeerAddress sender, Object request) throws Exception { System.out.println("request [" + request + "]"); return "world"; } }); FutureResponse futureData = p1.sendDirect(p2.getPeerAddress()).setObject("hello").start(); futureData.awaitUninterruptibly(); System.out.println("reply [" + futureData.getResponse().getBuffer(0).object() + "]"); } finally { if (p1 != null) { p1.shutdown().await(); } if (p2 != null) { p2.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:29,代码来源:TestDHT.java 示例3: testPingTCPPool import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testPingTCPPool() 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(); List list = new ArrayList(50); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(0, 50); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); for (int i = 0; i < 50; i++) { FutureResponse fr = sender.getHandshakeRPC().pingTCP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); list.add(fr); } for (FutureResponse fr2 : list) { fr2.awaitUninterruptibly(); Assert.assertTrue(fr2.isSuccess()); } } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:34,代码来源:TestPing.java 示例4: testPingTCP2 import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testPingTCP2() 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, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); FutureResponse fr = sender.getHandshakeRPC().pingTCP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); FutureResponse fr2 = recv1.getHandshakeRPC().pingTCP(sender.getPeerAddress(), cc, new DefaultConnectionConfiguration()); fr2.awaitUninterruptibly(); Assert.assertEquals(true, fr2.isSuccess()); Assert.assertEquals(true, fr.isSuccess()); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:34,代码来源:TestPing.java 示例5: testPingUDP import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testPingUDP() throws Exception { Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x9876")).p2pId(55).ports(2424).makeAndListen(); PingRPC handshake = new PingRPC(sender.getPeerBean(), sender.getConnectionBean()); recv1 = new PeerMaker(new Number160("0x1234")).p2pId(55).ports(8088).makeAndListen(); new PingRPC(recv1.getPeerBean(), recv1.getConnectionBean()); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(1, 0); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); FutureResponse fr = handshake.pingUDP(recv1.getPeerAddress(), cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:30,代码来源:TestPing.java 示例6: sendPingTCP import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 /** * Test regular ping. * * @throws InterruptedException . * * @throws IOException . */ @Ignore @Test public void sendPingTCP() throws IOException, InterruptedException { Peer sender = null; ChannelCreator cc = null; try { PeerAddress pa = new PeerAddress(Number160.ZERO, Inet4Address.getByName(IP), PORT, PORT); sender = new PeerMaker(new Number160("0x9876")).ports(PORT).setEnableMaintenance(false) .makeAndListen(); PingRPC handshake = new PingRPC(sender.getPeerBean(), sender.getConnectionBean()); FutureChannelCreator fcc = sender.getConnectionBean().reservation().create(0, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); FutureResponse fr = handshake.pingTCP(pa, cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); Thread.sleep(WAIT); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:34,代码来源:TestRealPing.java 示例7: sendPingTCPProbe import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 /** * Test probe ping. * * @throws InterruptedException . * * @throws IOException . */ @Ignore @Test public void sendPingTCPProbe() throws IOException, InterruptedException { Peer sender = null; ChannelCreator cc = null; try { PeerAddress pa = new PeerAddress(Number160.ZERO, Inet4Address.getByName(IP), PORT, PORT); sender = new PeerMaker(new Number160("0x9876")).ports(PORT).setEnableMaintenance(false) .makeAndListen(); PingRPC handshake = new PingRPC(sender.getPeerBean(), sender.getConnectionBean()); FutureChannelCreator fcc = sender.getConnectionBean().reservation().create(0, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); FutureResponse fr = handshake.pingTCPProbe(pa, cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); Thread.sleep(WAIT); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:34,代码来源:TestRealPing.java 示例8: testPingTimeoutUDP import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testPingTimeoutUDP() throws Exception { Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x9876")).p2pId(55).ports(2424).makeAndListen(); PingRPC handshake = new PingRPC(sender.getPeerBean(), sender.getConnectionBean(), false, true, true); recv1 = new PeerMaker(new Number160("0x1234")).p2pId(55).ports(8088).makeAndListen(); new PingRPC(recv1.getPeerBean(), recv1.getConnectionBean(), false, true, true); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(1, 0); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); FutureResponse fr = handshake.pingUDP(recv1.getPeerBean().serverPeerAddress(), cc, new DefaultConnectionConfiguration()); fr.awaitUninterruptibly(); Assert.assertEquals(false, fr.isSuccess()); Assert.assertEquals(false, fr.getFailedReason().contains("exception on the other side")); Assert.assertEquals(true, fr.getFailedReason().contains("channel is idle")); } finally { if (cc != null) { cc.shutdown().await(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:33,代码来源:TestPing.java 示例9: testTrackerPutNoBloomFilter import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testTrackerPutNoBloomFilter() throws Exception { Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x50")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x20")).p2pId(55).ports(8088).makeAndListen(); Number160 loc = new Number160(rnd); Number160 dom = new Number160(rnd); // make a good guess based on the config and the maxium tracker that // can be found FutureChannelCreator fcc = sender.getConnectionBean().reservation().create(1, 0); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); AddTrackerBuilder addTrackerBuilder = new AddTrackerBuilder(sender, loc); addTrackerBuilder.setDomainKey(dom); FutureResponse fr = sender.getTrackerRPC().addToTracker(recv1.getPeerAddress(), addTrackerBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); GetTrackerBuilder getTrackerBuilder = new GetTrackerBuilder(sender, loc); fr = sender.getTrackerRPC().getFromTracker(recv1.getPeerAddress(), getTrackerBuilder, cc); fr.awaitUninterruptibly(); System.err.println(fr.getFailedReason()); Assert.assertEquals(true, fr.isSuccess()); PeerAddress peerAddress = fr.getResponse().getTrackerData(0).getPeerAddresses().keySet() .iterator().next(); Assert.assertEquals(sender.getPeerAddress(), peerAddress); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:49,代码来源:TestTracker.java 示例10: testRPC2 import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testRPC2() throws Exception { Peer peer1 = null; Peer peer2 = null; try { peer1 = new PeerMaker(new Number160(rnd)).setWorkerThreads(1).setPorts(4001).setEnableTask(true) .makeAndListen(); peer2 = new PeerMaker(new Number160(rnd)).setWorkerThreads(1).setPorts(4002).setEnableTask(true) .makeAndListen(); FutureChannelCreator futureChannelCreator = peer1.getConnectionBean().getConnectionReservation().reserve(5); futureChannelCreator.awaitUninterruptibly(); Number160 taskId1 = new Number160(11); Number160 taskId2 = new Number160(12); Number160 taskId3 = new Number160(13); Map dataMap = new HashMap(); dataMap.put(new Number160(22), new Data("testme")); FutureResponse futureResponse1 = peer1.getTaskRPC().sendTask(peer1.getPeerAddress(), futureChannelCreator.getChannelCreator(), taskId1, dataMap, new MyWorker2(), null, false, false); futureResponse1.awaitUninterruptibly(); FutureResponse futureResponse2 = peer1.getTaskRPC().sendTask(peer1.getPeerAddress(), futureChannelCreator.getChannelCreator(), taskId2, dataMap, new MyWorker2(), null, false, false); futureResponse2.awaitUninterruptibly(); FutureResponse futureResponse3 = peer1.getTaskRPC().sendTask(peer1.getPeerAddress(), futureChannelCreator.getChannelCreator(), taskId3, dataMap, new MyWorker2(), null, false, false); futureResponse3.awaitUninterruptibly(); Assert.assertEquals(true, futureResponse1.isSuccess()); Assert.assertEquals(true, futureResponse2.isSuccess()); Assert.assertEquals(true, futureResponse3.isSuccess()); Collection taskIDs = new ArrayList(); taskIDs.add(taskId1); taskIDs.add(taskId2); taskIDs.add(taskId3); FutureResponse futureResponse4 = peer1.getTaskRPC().taskStatus(peer1.getPeerAddress(), futureChannelCreator.getChannelCreator(), taskIDs, false); futureResponse4.awaitUninterruptibly(); Assert.assertEquals(3, futureResponse4.getResponse().getDataMap().size()); Map map = futureResponse4.getResponse().getDataMap(); TaskStatus status1 = (TaskStatus) map.get(taskId1).getObject(); TaskStatus status2 = (TaskStatus) map.get(taskId2).getObject(); TaskStatus status3 = (TaskStatus) map.get(taskId3).getObject(); Assert.assertEquals(TaskStatus.Status.STARTED, status1.getStatus()); Assert.assertEquals(TaskStatus.Status.QUEUE, status2.getStatus()); Assert.assertEquals(0, status2.getQueuePosition()); Assert.assertEquals(TaskStatus.Status.QUEUE, status3.getStatus()); Assert.assertEquals(1, status3.getQueuePosition()); Thread.sleep(1000); FutureResponse futureResponse5 = peer1.getTaskRPC().taskStatus(peer1.getPeerAddress(), futureChannelCreator.getChannelCreator(), taskIDs, false); Utils.addReleaseListenerAll(futureResponse5, peer1.getConnectionBean().getConnectionReservation(), futureChannelCreator.getChannelCreator()); futureResponse5.awaitUninterruptibly(); Assert.assertEquals(3, futureResponse5.getResponse().getDataMap().size()); map = futureResponse5.getResponse().getDataMap(); status1 = (TaskStatus) map.get(taskId1).getObject(); status2 = (TaskStatus) map.get(taskId2).getObject(); status3 = (TaskStatus) map.get(taskId3).getObject(); Assert.assertEquals(TaskStatus.Status.SUCCESS_RESULT_SENT, status1.getStatus()); Assert.assertEquals(TaskStatus.Status.SUCCESS_RESULT_SENT, status2.getStatus()); Assert.assertEquals(TaskStatus.Status.SUCCESS_RESULT_SENT, status3.getStatus()); } finally { if (peer1 != null) { peer1.halt(); } if (peer2 != null) { peer2.halt(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:69,代码来源:TestTaskRPC.java 示例11: testStorePutIfAbsent import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testStorePutIfAbsent() throws Exception { StorageGeneric storeSender = new StorageMemory(); StorageGeneric storeRecv = new StorageMemory(); Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x50")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x20")).p2pId(55).ports(8088).makeAndListen(); sender.getPeerBean().storage(storeSender); StorageRPC smmSender = new StorageRPC(sender.getPeerBean(), sender.getConnectionBean()); recv1.getPeerBean().storage(storeRecv); new StorageRPC(recv1.getPeerBean(), recv1.getConnectionBean()); Map tmp = new HashMap(); byte[] me1 = new byte[] { 1, 2, 3 }; byte[] me2 = new byte[] { 2, 3, 4 }; Data test = new Data(me1); Data test2 = new Data(me2); tmp.put(new Number160(77), test); tmp.put(new Number160(88), test2); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(0, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); PutBuilder putBuilder = new PutBuilder(recv1, new Number160(33)); putBuilder.setDomainKey(Number160.createHash("test")); putBuilder.setDataMapContent(tmp); FutureResponse fr = smmSender.put(recv1.getPeerAddress(), putBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); Data c = storeRecv.get(new Number160(33), Number160.createHash("test"), new Number160(77)); Assert.assertEquals(c, test); // tmp.clear(); byte[] me3 = new byte[] { 5, 6, 7 }; byte[] me4 = new byte[] { 8, 9, 1, 5 }; tmp.put(new Number160(77), new Data(me3)); tmp.put(new Number160(88), new Data(me4)); putBuilder.setPutIfAbsent(); fr = smmSender.putIfAbsent(recv1.getPeerAddress(), putBuilder, cc); fr.awaitUninterruptibly(); // we cannot put anything there, since there already is Assert.assertEquals(true, fr.isSuccess()); Collection putKeys = fr.getResponse().getKeys(0).keys(); Assert.assertEquals(0, putKeys.size()); c = storeRecv.get(new Number160(33), Number160.createHash("test"), new Number160(88)); Assert.assertEquals(c, test2); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:66,代码来源:TestStorage.java 示例12: testStorePutGetTCP import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testStorePutGetTCP() throws Exception { StorageGeneric storeSender = new StorageMemory(); StorageGeneric storeRecv = new StorageMemory(); Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x50")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x20")).p2pId(55).ports(8088).makeAndListen(); sender.getPeerBean().storage(storeSender); StorageRPC smmSender = new StorageRPC(sender.getPeerBean(), sender.getConnectionBean()); recv1.getPeerBean().storage(storeRecv); new StorageRPC(recv1.getPeerBean(), recv1.getConnectionBean()); Map tmp = new HashMap(); byte[] me1 = new byte[] { 1, 2, 3 }; byte[] me2 = new byte[] { 2, 3, 4 }; tmp.put(new Number160(77), new Data(me1)); tmp.put(new Number160(88), new Data(me2)); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(0, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); PutBuilder putBuilder = new PutBuilder(recv1, new Number160(33)); putBuilder.setDomainKey(Number160.createHash("test")); DataMap dataMap = new DataMap(new Number160(33), Number160.createHash("test"), tmp); putBuilder.setDataMapContent(tmp); FutureResponse fr = smmSender.put(recv1.getPeerAddress(), putBuilder, cc); fr.awaitUninterruptibly(); // get GetBuilder getBuilder = new GetBuilder(recv1, new Number160(33)); getBuilder.setDomainKey(Number160.createHash("test")); getBuilder.setContentKeys(tmp.keySet()); fr = smmSender.get(recv1.getPeerAddress(), getBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); System.err.println(fr.getFailedReason()); Message2 m = fr.getResponse(); Map stored = m.getDataMap(0).dataMap(); compare(dataMap.convertToMap480(), stored); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:57,代码来源:TestStorage.java 示例13: testTrackerPutAttachment import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testTrackerPutAttachment() 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(); Number160 loc = new Number160(rnd); Number160 dom = new Number160(rnd); // make a good guess based on the config and the maxium tracker that // can be found FutureChannelCreator fcc = sender.getConnectionBean().reservation().create(1, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); AddTrackerBuilder addTrackerBuilder = new AddTrackerBuilder(sender, loc); addTrackerBuilder.setDomainKey(dom); addTrackerBuilder.setAttachement(new Data("data")); FutureResponse fr = sender.getTrackerRPC().addToTracker(recv1.getPeerAddress(), addTrackerBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); GetTrackerBuilder getTrackerBuilder = new GetTrackerBuilder(sender, loc); getTrackerBuilder.setExpectAttachement(true); fr = sender.getTrackerRPC().getFromTracker(recv1.getPeerAddress(), getTrackerBuilder, cc); fr.awaitUninterruptibly(); System.err.println("ERR:" + fr.getFailedReason()); Assert.assertEquals(true, fr.isSuccess()); PeerAddress peerAddress = fr.getResponse().getTrackerData(0).getPeerAddresses().keySet() .iterator().next(); Assert.assertEquals(sender.getPeerAddress(), peerAddress); Data tmp = fr.getResponse().getTrackerData(0).getPeerAddresses().values().iterator().next(); Assert.assertEquals(tmp.object(), "data"); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:51,代码来源:TestTracker.java 示例14: testTrackerBloomFilter import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testTrackerBloomFilter() 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(); Number160 loc = new Number160(rnd); Number160 dom = new Number160(rnd); // make a good guess based on the config and the maxium tracker that // can be found SimpleBloomFilter bloomFilter = new SimpleBloomFilter(100, 10); FutureChannelCreator fcc = sender.getConnectionBean().reservation().create(1, 0); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); AddTrackerBuilder addTrackerBuilder = new AddTrackerBuilder(sender, loc); addTrackerBuilder.setDomainKey(dom); addTrackerBuilder.setAttachement(new Data("data")); addTrackerBuilder.setBloomFilter(bloomFilter); FutureResponse fr = sender.getTrackerRPC().addToTracker(recv1.getPeerAddress(), addTrackerBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); bloomFilter.add(sender.getPeerID()); GetTrackerBuilder getTrackerBuilder = new GetTrackerBuilder(sender, loc); getTrackerBuilder.setExpectAttachement(true); getTrackerBuilder.setKnownPeers(bloomFilter); fr = sender.getTrackerRPC().getFromTracker(recv1.getPeerAddress(), getTrackerBuilder, cc); fr.awaitUninterruptibly(); System.err.println(fr.getFailedReason()); Assert.assertEquals(true, fr.isSuccess()); Assert.assertEquals(0, fr.getResponse().getTrackerData(0).size()); } catch (Throwable t) { t.printStackTrace(); Assert.fail(); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:54,代码来源:TestTracker.java 示例15: testBigStorePut import net.tomp2p.futures.FutureResponse; //导入方法依赖的package包/类 @Test public void testBigStorePut() throws Exception { StorageGeneric storeSender = new StorageMemory(); StorageGeneric storeRecv = new StorageMemory(); Peer sender = null; Peer recv1 = null; ChannelCreator cc = null; try { sender = new PeerMaker(new Number160("0x50")).p2pId(55).ports(2424).makeAndListen(); recv1 = new PeerMaker(new Number160("0x20")).p2pId(55).ports(8088).makeAndListen(); sender.getPeerBean().storage(storeSender); StorageRPC smmSender = new StorageRPC(sender.getPeerBean(), sender.getConnectionBean()); recv1.getPeerBean().storage(storeRecv); new StorageRPC(recv1.getPeerBean(), recv1.getConnectionBean()); Map tmp = new HashMap(); byte[] me1 = new byte[100]; byte[] me2 = new byte[10000]; tmp.put(new Number160(77), new Data(me1)); tmp.put(new Number160(88), new Data(me2)); FutureChannelCreator fcc = recv1.getConnectionBean().reservation().create(0, 1); fcc.awaitUninterruptibly(); cc = fcc.getChannelCreator(); PutBuilder putBuilder = new PutBuilder(recv1, new Number160(33)); putBuilder.setDomainKey(Number160.createHash("test")); DataMap dataMap = new DataMap(new Number160(33), Number160.createHash("test"), tmp); putBuilder.setDataMapContent(tmp); FutureResponse fr = smmSender.put(recv1.getPeerAddress(), putBuilder, cc); fr.awaitUninterruptibly(); Assert.assertEquals(true, fr.isSuccess()); Keys keys = fr.getResponse().getKeys(0); Utils.isSameSets(keys.keys(), dataMap.convertToMap480().keySet()); } finally { if (cc != null) { cc.shutdown().awaitListenersUninterruptibly(); } if (sender != null) { sender.shutdown().await(); } if (recv1 != null) { recv1.shutdown().await(); } } } 开发者ID:maxatp,项目名称:tomp2p_5,代码行数:48,代码来源:TestStorage.java

注:本文中的net.tomp2p.futures.FutureResponse.awaitUninterruptibly方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3