Package net.tomp2p.futures

Examples of net.tomp2p.futures.FutureDirect


    HybridEncryptedContent encryptedMessage = signAndEncryptMessage(message, targetPublicKey);
    if (encryptedMessage == null)
      return false;

    // send message directly to the peer with the given peer address
    FutureDirect futureDirect = networkManager.getConnection().getPeer()
        .sendDirect(message.getTargetAddress()).setObject(encryptedMessage).start();
    // attach a future listener to log, handle and notify events
    FutureDirectListener listener = new FutureDirectListener(message, targetPublicKey, this);
    futureDirect.addListener(listener);
    boolean success = listener.await();

    if (success) {
      logger.debug("Message (direct) sent. Message ID = '{}', Target address = '{}', Sender address = '{}'.",
          message.getMessageID(), message.getTargetAddress(), message.getSenderAddress());
View Full Code Here


                    }
                });

                FuturePeerConnection futurePeerConnection = peer1DHT.peer().createPeerConnection(peer2DHT.peer()
                                                                                                         .peerAddress(), 500);
                FutureDirect futureDirect = peer1DHT.peer().sendDirect(futurePeerConnection).object("hallo").start();
                futureDirect.awaitUninterruptibly();


                countDownLatch.await(3, TimeUnit.SECONDS);
                if (countDownLatch.getCount() > 0)
                    Assert.fail("The test method did not complete successfully!");

                assertEquals("hallo", result.toString());
                assertTrue(futureDirect.isSuccess());
                log.debug(futureDirect.object().toString());
                assertEquals("pong", futureDirect.object());
            }

            shutdown();
        }
    }
View Full Code Here

            PeerAddress reachablePeerAddress = new PeerAddress(Number160.createHash(seedId), seedIP, seedPort,
                                                               seedPort);

            FuturePeerConnection futurePeerConnection = peer1DHT.peer().createPeerConnection
                    (reachablePeerAddress, 500);
            FutureDirect futureDirect = peer1DHT.peer().sendDirect(futurePeerConnection).object("hallo").start();
            futureDirect.awaitUninterruptibly();
            assertTrue(futureDirect.isSuccess());
            assertEquals("pong", futureDirect.object());

            shutdown();
        }
    }
View Full Code Here

            public Object reply(PeerAddress sender, Object request) throws Exception {
                return "world!";
            }
        });
       
        FutureDirect futureResponse = master.sendDirect(pcMaster).object("test").start().awaitUninterruptibly();
        Assert.assertEquals("yoo!", futureResponse.object());
       
        FuturePeerConnection pcSlave = myDirectDataRPC.peerConnection();
       
        futureResponse = slave.sendDirect(pcSlave).object("hello").start().awaitUninterruptibly();
        System.err.println(futureResponse.failedReason());
        Assert.assertEquals("world!", futureResponse.object());
       
        Thread.sleep(1000);
        pcSlave.close();
        pcMaster.close();
        System.err.println("done");
View Full Code Here

                    return "world!";
                }
            });
           
            String sentObject = "Hello";
            FutureDirect fd = peer1.sendDirect(peer2.peerAddress()).object(sentObject).start();
            System.out.println("send " + sentObject);
            fd.awaitUninterruptibly();
           
            System.out.println("received " + fd.object() + " connections: "
                    + ccohTCP.total()+ "/"+ccohUDP.total());
           
            // keep the connection for 20s alive. Setting -1 means to keep it open as long as possible
            FuturePeerConnection futurePeerConnection = peer1.createPeerConnection(peer2.peerAddress(), timeout);
           
            fd = peer1.sendDirect(futurePeerConnection).object(sentObject).start();
            System.out.println("send " + sentObject);
            fd.awaitUninterruptibly();
            System.out.println("received " + fd.object() + " connections: "
                    + ccohTCP.total()+ "/"+ccohUDP.total());
            // we reuse the connection
            fd = peer1.sendDirect(futurePeerConnection).object(sentObject).start();
            System.out.println("send " + sentObject);
            fd.awaitUninterruptibly();
            System.out.println("received " + fd.object() + " connections: "
                    + ccohTCP.total()+ "/"+ccohUDP.total());
            // now we don't want to keep the connection open anymore:
            futurePeerConnection.close();
        } finally {
            if (peer1 != null) {
View Full Code Here

      @Override
      public void operationComplete(FutureDone<PeerConnection> future) throws Exception {
        if (future.isSuccess()) {
          System.err.println("received: " + future.object().toString());

          FutureDirect fd2 = reachable.sendDirect(future.object()).object(requestString).start();
          fd2.addListener(new BaseFutureAdapter<FutureDirect>() {

            @Override
            public void operationComplete(FutureDirect future) throws Exception {
              if (future.isSuccess()) {
                if (replyString.equals((String) future.object())) {
View Full Code Here

        }
        return null;
      }
    });

    FutureDirect fd = reachable.sendDirect(unreachable.peerAddress()).object(requestString).start();
    fd.awaitUninterruptibly();

    checkFail(cLatch);

    System.err.println("testReverseConnection() end!");
  }
View Full Code Here

            anotherMaster.awaitUninterruptibly();
            FuturePeerConnection fpc = peer1.createPeerConnection(peer2.peerAddress());
            // fpc.awaitUninterruptibly();
            // PeerConnection peerConnection = fpc.peerConnection();
            String sentObject = "Hello";
            FutureDirect fd = peer1.sendDirect(fpc).object(sentObject).start();
            System.out.println("send " + sentObject);
            fd.awaitUninterruptibly();
            Assert.assertEquals(true, fd.isSuccess());
            System.out.println("received " + fd.object() + " connections: "
                    + ccohTCP.total());
            // we reuse the connection
            long start = System.currentTimeMillis();
            System.out.println("send " + sentObject);
            fd = peer1.sendDirect(fpc).object(sentObject).start();
            fd.awaitUninterruptibly();
            System.err.println(fd.failedReason());
            Assert.assertEquals(true, fd.isSuccess());
            System.err.println(fd.failedReason());
            System.out.println("received " + fd.object() + " connections: "
                    + ccohTCP.total());
            // now we don't want to keep the connection open anymore:
            double duration = (System.currentTimeMillis() - start) / 1000d;
            System.out.println("Send and get in s:" + duration);
            fpc.close().await();
View Full Code Here

      unreachablePeer2.peerBean().serverPeerAddress(unreachablePeer2.peerBean().serverPeerAddress().changePeerSocketAddresses(list));
           
      System.err.println("unreachablePeer1: " + unreachablePeer1.peerAddress());
      System.err.println("unreachablePeer2: "+unreachablePeer2.peerAddress());
     
            FutureDirect fd = unreachablePeer2.sendDirect(unreachablePeer1.peerAddress()).object(request).start().awaitUninterruptibly();
            System.err.println("got msg from: "+fd.futureResponse().responseMessage().sender());
            Assert.assertEquals(response, fd.object());
            //make sure we did not receive it from the unreachable peer with port 13337
            //System.err.println(fd.getWrappedFuture());
            //TODO: this case is true for relay
            //Assert.assertEquals(fd.wrappedFuture().responseMessage().senderSocket().getPort(), 4001);
            //TODO: this case is true for rcon
            Assert.assertEquals(unreachablePeer1.peerID(), fd.wrappedFuture().responseMessage().sender().peerId());
           
            Assert.assertTrue(test1.get());
            Assert.assertFalse(test2.get());
            Assert.assertEquals(relayType.maxRelayCount(), fd.futureResponse().responseMessage().sender().peerSocketAddresses().size());
    } finally {
      if (unreachablePeer1 != null) {
        unreachablePeer1.shutdown().await();
      }
      if (unreachablePeer2 != null) {
View Full Code Here

          Assert.assertEquals(request.toString(), request);
          return response;
        }
      });

      FutureDirect fd = peers[42].sendDirect(unreachablePeer.peerAddress()).object(request).start()
          .awaitUninterruptibly();
      Assert.assertEquals(response, fd.object());
     
      // make sure we did receive it from the unreachable peer with id
      Assert.assertEquals(unreachablePeer.peerID(), fd.wrappedFuture().responseMessage().sender().peerId());
    } finally {
      if (unreachablePeer != null) {
        unreachablePeer.shutdown().await();
      }
      if (master != null) {
View Full Code Here

TOP

Related Classes of net.tomp2p.futures.FutureDirect

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.