Examples of PeerBuilderNAT


Examples of net.tomp2p.nat.PeerBuilderNAT

          return "pong";
        }
      });

      new PeerBuilderDHT(peer).start();
      new PeerBuilderNAT(peer).start();

      log.debug("SeedNode started.");
      new Thread(new Runnable() {
       
        @Override
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

            return cachedPeers.get(id);
        }*/
        Peer peer = null;
        try {
            peer = new PeerBuilder(Number160.createHash(clientId)).ports(clientPort).behindFirewall().start();
            PeerNAT peerNAT = new PeerBuilderNAT(peer).start();
            PeerAddress masterNodeAddress = new PeerAddress(Number160.createHash(seedNodeId), seedNodeIP, seedNodePort,
                                                            seedNodePort);
            FutureDiscover futureDiscover = peer.discover().peerAddress(masterNodeAddress).start();
            FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
            futureNAT.awaitUninterruptibly();
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

        }*/

        Peer peer = null;
        try {
            peer = new PeerBuilder(Number160.createHash(clientId)).ports(clientPort).behindFirewall().start();
            PeerNAT peerNAT = new PeerBuilderNAT(peer).start();
            PeerAddress masterNodeAddress = new PeerAddress(Number160.createHash(seedNodeId), seedNodeIP, seedNodePort,
                                                            seedNodePort);
            FutureDiscover futureDiscover = peer.discover().peerAddress(masterNodeAddress).start();
            FutureNAT futureNAT = peerNAT.startSetupPortforwarding(futureDiscover);
            FutureRelayNAT futureRelayNAT = peerNAT.startRelay(futureDiscover, futureNAT);
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

    UtilsNAT.perfectRouting(peers);
    // every peer must own a PeerNAT in order to be able to be a relay and
    // set up a reverse connection
    for (Peer peer : peers) {
      if (peer.equals(reachable)) {
        reachableNAT = new PeerBuilderNAT(peer).start();
      } else {
        new PeerBuilderNAT(peer).start();
      }
    }

    // Test setting up relay peers
    unreachable = new PeerBuilder(Number160.createHash(RND.nextInt())).ports(PORTS + 1).start();
    PeerAddress pa = unreachable.peerBean().serverPeerAddress();
    pa = pa.changeFirewalledTCP(true).changeFirewalledUDP(true);
    unreachable.peerBean().serverPeerAddress(pa);
   
    // find neighbors
    FutureBootstrap futureBootstrap = unreachable.bootstrap().peerAddress(peers[0].peerAddress()).start();
    futureBootstrap.awaitUninterruptibly();
    Assert.assertTrue(futureBootstrap.isSuccess());
   
    // setup relay
    PeerNAT uNat = new PeerBuilderNAT(unreachable).start();
    FutureRelayNAT frn = uNat.startRelay(master.peerAddress());
    frn.awaitUninterruptibly();
    Assert.assertTrue(frn.isSuccess());

    // Check if flags are set correctly
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

      // setup test peers
      Peer[] peers = UtilsNAT.createNodes(nrOfNodes, rnd, 4001);
      master = peers[0];
      UtilsNAT.perfectRouting(peers);
      for (Peer peer : peers) {
        new PeerBuilderNAT(peer).bufferConfiguration(androidConfig).start();
      }

      // Test setting up relay peers
      unreachablePeer = new PeerBuilder(Number160.createHash(rnd.nextInt())).ports(5000).start();

      // find neighbors
      FutureBootstrap futureBootstrap = unreachablePeer.bootstrap().peerAddress(peers[0].peerAddress()).start();
      futureBootstrap.awaitUninterruptibly();
      Assert.assertTrue(futureBootstrap.isSuccess());

      // setup relay
      PeerNAT uNat = new PeerBuilderNAT(unreachablePeer).relayType(relayType).gcmServerCredentials(gcmServerCredentials).start();
      FutureRelayNAT startRelay = uNat.startRelay(peers[0].peerAddress()).awaitUninterruptibly();
      Assert.assertTrue(startRelay.isSuccess());
      mockGCM(peers, uNat);

      // Check if flags are set correctly
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

      // setup test peers
      Peer[] peers = UtilsNAT.createNodes(nrOfNodes, rnd, 4001);
      master = peers[0];
      UtilsNAT.perfectRouting(peers);
      for (Peer peer : peers) {
        new PeerBuilderNAT(peer).bufferConfiguration(androidConfig).start();
      }

      // Test setting up relay peers
      unreachablePeer = new PeerBuilder(Number160.createHash(rnd.nextInt())).ports(5000).start();
      PeerAddress upa = unreachablePeer.peerBean().serverPeerAddress();
      upa = upa.changeFirewalledTCP(true).changeFirewalledUDP(true);
      unreachablePeer.peerBean().serverPeerAddress(upa);

      // find neighbors
      FutureBootstrap futureBootstrap = unreachablePeer.bootstrap().peerAddress(peers[0].peerAddress()).start();
      futureBootstrap.awaitUninterruptibly();
      Assert.assertTrue(futureBootstrap.isSuccess());

      // setup relay
      PeerNAT uNat = new PeerBuilderNAT(unreachablePeer).relayType(relayType).gcmServerCredentials(gcmServerCredentials).peerMapUpdateInterval(5).start();
      FutureRelayNAT startRelay = uNat.startRelay(peers[0].peerAddress()).awaitUninterruptibly();
      Assert.assertTrue(startRelay.isSuccess());
      mockGCM(peers, uNat);

      // find neighbors again
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

      // setup test peers
      Peer[] peers = UtilsNAT.createNodes(nrOfNodes, rnd, 4001);
      master = peers[0];
      UtilsNAT.perfectRouting(peers);
      for (Peer peer : peers) {
        new PeerBuilderNAT(peer).bufferConfiguration(androidConfig).start();
      }

      // Test setting up relay peers
      unreachablePeer1 = new PeerBuilder(Number160.createHash(rnd.nextInt())).ports(13337).start();
      PeerNAT uNat1 = new PeerBuilderNAT(unreachablePeer1).relayType(relayType).gcmServerCredentials(gcmServerCredentials).start();
      FutureRelayNAT fbn = uNat1.startRelay(master.peerAddress());
      fbn.awaitUninterruptibly();
      Assert.assertTrue(fbn.isSuccess());
      mockGCM(peers, uNat1);

           System.out.print("Send direct message to unreachable peer " + unreachablePeer1.peerAddress());
            final String request = "Hello ";
            final String response = "World!";
           
            final AtomicBoolean test1 = new AtomicBoolean(false);
            final AtomicBoolean test2 = new AtomicBoolean(false);
           
            //final Peer unr = unreachablePeer;
            unreachablePeer1.objectDataReply(new ObjectDataReply() {
                public Object reply(PeerAddress sender, Object obj) throws Exception {
                  test1.set(obj.equals(request));
                    Assert.assertEquals(request.toString(), request);
                    test2.set(sender.inetAddress().toString().contains("0.0.0.0"));
                    System.err.println("Got sender:"+sender);
                   
                    //this is too late here, so we cannot test this here
                    //Collection<PeerSocketAddress> list = new ArrayList<PeerSocketAddress>();
                    //list.add(new PeerSocketAddress(InetAddress.getByName("101.101.101.101"), 101, 101));
                    //unr.peerBean().serverPeerAddress(unr.peerBean().serverPeerAddress().changePeerSocketAddresses(list));
                   
                    return response;
                }
            });
           
           
            unreachablePeer2 = new PeerBuilder(Number160.createHash(rnd.nextInt())).ports(13338).start();
      PeerNAT uNat2 = new PeerBuilderNAT(unreachablePeer2).relayType(relayType).gcmServerCredentials(gcmServerCredentials).start();
      fbn = uNat2.startRelay(peers[42].peerAddress());

     
      fbn.awaitUninterruptibly();
      Assert.assertTrue(fbn.isSuccess());
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

      // setup test peers
      Peer[] peers = UtilsNAT.createNodes(nrOfNodes, rnd, 4001);
      master = peers[0];
      UtilsNAT.perfectRouting(peers);
      for (Peer peer : peers) {
        new PeerBuilderNAT(peer).bufferConfiguration(androidConfig).start();
      }

      // setup relay
      unreachablePeer = new PeerBuilder(Number160.createHash(rnd.nextInt())).ports(13337).start();
      PeerNAT uNat = new PeerBuilderNAT(unreachablePeer).relayType(relayType).gcmServerCredentials(gcmServerCredentials).start();
      FutureRelayNAT startRelay = uNat.startRelay(peers[0].peerAddress()).awaitUninterruptibly();
      Assert.assertTrue(startRelay.isSuccess());
      mockGCM(peers, uNat);

      System.out.print("Send direct message to unreachable peer");
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

     */
    for (int i = 0; i < relayPeers; i++) {
      Peer peer = createPeer(RELAY_START_PORT + i);
      // Note: Does not work if relay does not have a PeerDHT
      new PeerBuilderDHT(peer).storageLayer(new LoggingStorageLayer("RELAY", false)).start();
      PeerNAT peerNAT = new PeerBuilderNAT(peer).bufferConfiguration(bufferConfig).start();

      relays.add(peerNAT);
      LOG.debug("Relay peer {} started", i);
    }

    /**
     * Then init the mobile peers
     */
    for (int i = 0; i < mobilePeers; i++) {
      Peer peer = createPeer(MOBILE_START_PORT + i);
      bootstrap(peer);

      // start DHT capability
      new PeerBuilderDHT(peer).storageLayer(new LoggingStorageLayer("UNREACHABLE", true)).start();

      LOG.debug("Connecting to Relay now");
      Set<PeerAddress> relayAddresses = new HashSet<PeerAddress>(relayPeers);
      for (PeerNAT relay : relays) {
        relayAddresses.add(relay.peer().peerAddress());
      }

      PeerBuilderNAT builder = new PeerBuilderNAT(peer).peerMapUpdateInterval(PEER_MAP_UPDATE_INTERVAL_S)
          .relays(relayAddresses).relayType(RELAY_TYPE);
      if (RELAY_TYPE == RelayType.ANDROID) {
        GCMServerCredentials gcmCredentials = new GCMServerCredentials().senderAuthenticationKey(gcmKey)
            .senderId(gcmSenderId).registrationId(GCM_REGISTRATION_ID);
        builder.gcmServerCredentials(gcmCredentials);
      }

      PeerNAT peerNat = builder.start();
      FutureRelayNAT futureRelayNAT = peerNat.startRelay(relays.get(0).peer().peerAddress()).awaitUninterruptibly();
      if (!futureRelayNAT.isSuccess()) {
        LOG.error("Cannot connect to Relay(s). Reason: {}", futureRelayNAT.failedReason());
        return;
      }

      mobiles.add(peerNat);
      LOG.debug("Mobile peer {} connected to DHT and Relay(s)", i);
    }

    /**
     * Finally init the query peers
     */
    for (int i = 0; i < queryPeers; i++) {
      Peer peer = createPeer(QUERY_START_PORT + i);
      bootstrap(peer);

      PeerDHT peerDHT = new PeerBuilderDHT(peer).storageLayer(new LoggingStorageLayer("QUERY", false)).start();
      new PeerBuilderNAT(peer).start();

      queries.add(new QueryNode(peerDHT, MEDIUM_SLEEP_TIME_MS, MEDIUM_DATA_SIZE_BYTES));
      LOG.debug("Query peer {} started", i);
    }
   
View Full Code Here

Examples of net.tomp2p.nat.PeerBuilderNAT

  }

  public static void startClientNAT(String ip) throws Exception {
    Random r = new Random(43L);
    Peer peer = new PeerBuilder(new Number160(r)).ports(PORT_CLIENT).behindFirewall().start();
    PeerNAT peerNAT = new PeerBuilderNAT(peer).start();
    PeerAddress pa = new PeerAddress(Number160.ZERO, InetAddress.getByName(ip), PORT_SERVER, PORT_SERVER);
   
    FutureDiscover fd = peer.discover().peerAddress(pa).start();
    FutureNAT fn = peerNAT.startSetupPortforwarding(fd);
    FutureRelayNAT frn = peerNAT.startRelay(fd, fn);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.