Package net.tomp2p.dht

Examples of net.tomp2p.dht.FutureGet


      // b.addAddress(InetAddress.getByAddress(addr));
      peer = new PeerBuilderDHT(new PeerBuilder(new Number160(r)).bindings(b).ports(serverPort).start()).start();
      System.out.println("peer started.");
      for (;;) {
        Thread.sleep(5000);
        FutureGet fg = peer.get(new Number160(keyStore)).all().start();
        fg.awaitUninterruptibly();
        int size = fg.dataMap().size();
        System.out.println("size " + size);
        Iterator<Data> iterator = fg.dataMap().values().iterator();
        while (iterator.hasNext()) {
          Data d = iterator.next();
          System.out.println("got: " + d.object().toString());
        }
      }
View Full Code Here


    }

    String inLine = null;
    while ((inLine = getLine()) != null) {
      if (inLine.equals("show")) {
        FutureGet fget = peer.get(new Number160(keyStore)).all().start();
        fget.awaitUninterruptibly();
        Iterator<Data> iterator = fget.dataMap().values().iterator();
        StringBuffer allString = new StringBuffer();
        FutureGet fg;
        while (iterator.hasNext()) {
          Data d = iterator.next();
          fg = peer.get(new Number160(((Integer) d.object()).intValue())).start();
          fg.awaitUninterruptibly();
          if (fg.data() != null) {
            allString.append(fg.data().object().toString()).append("\n");
          } else {
            System.err.println("Could not find key for val: " + d.object());
          }
        }
        System.out.println("got: " + allString.toString());
View Full Code Here

        // search

        Number160 contentKey = combine(rowKey1, col1);
        // get entry
        final int peerGet = 22;
        FutureGet futureGet = peers[peerGet].get(locationKey).contentKey(contentKey).start();
        futureGet.awaitUninterruptibly();
        System.out
                .println("single fetch for (" + rowKey1 + "," + col1 + "): [" + futureGet.data().object() + "]");
        // get list
       
        Number640 from = new Number640(locationKey, Number160.ZERO, createNr(rowKey1, 0), Number160.ZERO);
        Number640 to = new Number640(locationKey, Number160.ZERO, createNr(rowKey1, -1), Number160.MAX_VALUE);
       
        // get can also be used with ranges for content keys
        FutureGet futureGet2 = peers[peerGet].get(locationKey).from(from).to(to).start();
        futureGet2.awaitUninterruptibly();
        System.out.println("row fetch [" + rowKey1 + "]");
        for (Map.Entry<Number640, Data> entry : futureGet2.dataMap().entrySet()) {
            System.out.println("multi fetch: " + entry.getValue().object());
        }
        // column get
        String search = col1;
       
        from = new Number640(locationKey, Number160.ZERO, createNr(search, 0), Number160.ZERO);
        to = new Number640(locationKey, Number160.ZERO, createNr(search, -1), Number160.MAX_VALUE);
       
        FutureGet futureGet3 = peers[peerGet].get(locationKey).from(from).to(to).start();
        futureGet3.awaitUninterruptibly();
        System.out.println("column fetch [" + search + "]");
        for (Map.Entry<Number640, Data> entry : futureGet3.dataMap().entrySet()) {
            System.out.println("multi fetch: " + entry.getValue().object());
        }
    }
View Full Code Here

        futurePut =
            peer2.put( Number160.ONE ).data( new Data( "MINE!" ) ).domainKey( peer2Owner ).protectDomain().start();
        futurePut.awaitUninterruptibly();
        System.out.println( "stored: " + futurePut.isSuccess() + " -> becaues peer2 is the owner" );
        // get the data!
        FutureGet futureGet = peer1.get( Number160.ONE ).domainKey( peer2Owner ).start();
        futureGet.awaitUninterruptibly();
        System.out.println( "we got " + futureGet.data().object() );
        shutdown( peers );
    }
View Full Code Here

        futurePut =
            peer2.put( Number160.ONE ).data( new Data( "MINE!" ) ).protectDomain().domainKey( peer2Owner ).start();
        futurePut.awaitUninterruptibly();
        System.out.println( "stored: " + futurePut.isSuccess() + " -> becaues peer2 is the owner" );
        // get the data!
        FutureGet futureGet = peer1.get( Number160.ONE ).domainKey( peer2Owner ).start();
        futureGet.awaitUninterruptibly();
        System.out.println( "we got " + futureGet.data().object() );
        futurePut = peer3.put( Number160.ONE ).domainKey( peer2Owner ).data( new Data( "hello" ) ).start();
        futurePut.awaitUninterruptibly();
        System.out.println( "stored: " + futurePut.isSuccess() + " -> because this domain is claimed by peer2" );
        shutdown( peers );
    }
View Full Code Here

            .data(contentKey, new Data()).versionKey(vKey).putConfirm().start();
        futurePutConfirm.awaitUninterruptibly();
        futurePutConfirm.awaitListenersUninterruptibly();

        // get latest version with digest
        FutureGet fget = peers[rnd.nextInt(10)].get(locationKey).domainKey(domainKey)
            .contentKey(contentKey).getLatest().withDigest().start();
        fget.awaitUninterruptibly();
        Assert.assertTrue(fget.isSuccess());

        // check result
        Map<Number640, Data> dataMap = fget.dataMap();
        Assert.assertEquals(1, dataMap.size());
        Number480 key480 = new Number480(locationKey, domainKey, contentKey);

        Number640 key = new Number640(key480, vKey);
        Assert.assertTrue(dataMap.containsKey(key));
        Assert.assertEquals(data.object(), dataMap.get(key).object());

        // check digest result
        DigestResult digestResult = fget.digest();
        Assert.assertEquals(sortedMap.size(), digestResult.keyDigest().size());
        for (Number160 versionKey : sortedMap.keySet()) {
          Number640 digestKey = new Number640(locationKey, domainKey, contentKey, versionKey);
          Assert.assertTrue(digestResult.keyDigest().containsKey(digestKey));
          Assert.assertEquals(sortedMap.get(versionKey).basedOnSet().size(), digestResult
View Full Code Here

TOP

Related Classes of net.tomp2p.dht.FutureGet

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.