Examples of FutureDigest


Examples of net.tomp2p.dht.FutureDigest

       
        PeerDHT[] peers = new PeerDHT[] {peer1, peer2, peer3};
        //
        FuturePut futurePut = peer1.put(new Number160(nr3)).data(new Data("store on peer1")).start();
        futurePut.awaitUninterruptibly();
        FutureDigest futureDigest = peer1.digest(new Number160(nr3)).start();
        futureDigest.awaitUninterruptibly();
        System.out.println("we found the data on " + futureDigest.rawDigest().size() + " peers");
        // now peer1 gets to know peer2, transfer the data
        peer1.peer().bootstrap().peerAddress(peer2.peerAddress()).start();
        peer1.peer().bootstrap().peerAddress(peer3.peerAddress()).start();
        Thread.sleep(ONE_SECOND);
        futureDigest = peer1.digest(new Number160(nr3)).start();
        futureDigest.awaitUninterruptibly();
        System.out.println("we found the data on " + futureDigest.rawDigest().size() + " peers");
        shutdown(peers);
    }
View Full Code Here

Examples of net.tomp2p.dht.FutureDigest

        }
        futurePut = peers[peer60].put(nr2).dataMapContent(contentMap).domainKey(Number160.createHash("my_domain"))
                .start();
        futurePut.awaitUninterruptibly();
        // digest the first entry
        FutureDigest futureDigest = peers[peer20].digest(nr1).all().returnBloomFilter()
                .domainKey(Number160.createHash("my_domain")).start();
        futureDigest.awaitUninterruptibly();
        // we have the bloom filter for the content keys:
        SimpleBloomFilter<Number160> contentBF = futureDigest.digest().contentBloomFilter();
               
        System.out.println("We got bloomfilter for the first key: " + contentBF);
        //TODO: check keyBF.contains(new Number160(123));
        // query for nr2, but return only those that are in this bloom filter
        FutureGet futureGet1 = peers[peer10].get(nr2).all().keyBloomFilter(contentBF)
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

        .contentKey(parameters.getCKey()).setVersionKey(parameters.getVersionKey())
        .keyPair(parameters.getProtectionKeys()).start();
  }

  public NavigableMap<Number640, Number160> getDigest(IParameters parameters) {
    FutureDigest futureDigest = getDigestUnblocked(parameters);
    FutureDigestListener listener = new FutureDigestListener(parameters);
    futureDigest.addListener(listener);
    return listener.awaitAndGet();
  }
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

  @Override
  public void operationComplete(FutureRemove future) throws Exception {
    logger.trace("Start verification of remove. '{}'", parameters.toString());
    // get data to verify if everything went correct
    FutureDigest digestFuture = dataManager.getDigestUnblocked(parameters);
    digestFuture.addListener(new BaseFutureAdapter<FutureDigest>() {
      @Override
      public void operationComplete(FutureDigest future) throws Exception {
        if (future.getDigest() == null) {
          retryRemove();
        } else if (!future.getDigest().keyDigest().isEmpty()) {
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

  /**
   * Loads digest and triggers a check.
   */
  private void verifyPut() {
    // get data to verify if everything went correct
    FutureDigest digestFuture = dataManager.getDigestUnblocked(parameters);
    digestFuture.addListener(new BaseFutureAdapter<FutureDigest>() {
      @Override
      public void operationComplete(FutureDigest future) throws Exception {
        if (future.isFailed() || future.getRawDigest() == null || future.getRawDigest().isEmpty()) {
          logger.error("Put verification failed. Could not get digest. '{}'", parameters.toString());
          notifyFailure();
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

    futureGet.awaitUninterruptibly();
    Assert.assertTrue(futureGet.isSuccess());
    Assert.assertTrue(ttl > futureGet.getData().ttlSeconds());

    // check decrement of ttl through a get meta
    FutureDigest futureDigest = p1.digest(lKey).setDomainKey(dKey).setContentKey(cKey)
        .setVersionKey(vKey).returnMetaValues().start();
    futureDigest.awaitUninterruptibly();
    Assert.assertTrue(futureDigest.isSuccess());
    Data dataMeta = futureDigest.getDigest().dataMap().values().iterator().next();
    Assert.assertTrue(ttl > dataMeta.ttlSeconds());

    // wait again a moment, till data gets expired
    Thread.sleep(2000);
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

            .createHash(contentKey), Number160.ZERO))
        .to(new Number640(Number160.createHash(locationKey), Number160.ZERO, Number160
            .createHash(contentKey), Number160.MAX_VALUE)).start();
    futureRemove.awaitUninterruptibly();

    FutureDigest futureDigest = p1
        .digest(Number160.createHash(locationKey))
        .from(new Number640(Number160.createHash(locationKey), Number160.ZERO, Number160
            .createHash(contentKey), Number160.ZERO))
        .to(new Number640(Number160.createHash(locationKey), Number160.ZERO, Number160
            .createHash(contentKey), Number160.MAX_VALUE)).start();
    futureDigest.awaitUninterruptibly();

    assertTrue(futureDigest.getDigest().keyDigest().isEmpty());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

    FutureRemove futureRemove = p1.remove(Number160.createHash(locationKey)).setDomainKey(Number160.ZERO)
        .contentKey(Number160.createHash(contentKey)).setVersionKey(data.getVersionKey()).start();
    futureRemove.awaitUninterruptibly();

    FutureDigest futureDigest = p1.digest(Number160.createHash(locationKey))
        .setContentKey(Number160.createHash(contentKey)).setVersionKey(data.getVersionKey()).start();
    futureDigest.awaitUninterruptibly();

    assertTrue(futureDigest.getDigest().keyDigest().isEmpty());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

    FutureRemove futureRemove = p1.remove(lKey).setDomainKey(dKey).contentKey(cKey).start();
    futureRemove.awaitUninterruptibly();

    // check with a normal digest
    FutureDigest futureDigest = p1.digest(lKey).setContentKey(cKey).setDomainKey(dKey).start();
    futureDigest.awaitUninterruptibly();
    assertTrue(futureDigest.getDigest().keyDigest().isEmpty());

    // check with a from/to digest
    futureDigest = p1.digest(lKey).from(new Number640(lKey, dKey, cKey, Number160.ZERO))
        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).start();
    futureDigest.awaitUninterruptibly();
    assertTrue(futureDigest.getDigest().keyDigest().isEmpty());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
View Full Code Here

Examples of net.tomp2p.futures.FutureDigest

    FutureRemove futureRemove = p1.remove(lKey).from(new Number640(lKey, dKey, cKey, Number160.ZERO))
        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).start();
    futureRemove.awaitUninterruptibly();

    FutureDigest futureDigest = p1.digest(lKey).from(new Number640(lKey, dKey, cKey, Number160.ZERO))
        .to(new Number640(lKey, dKey, cKey, Number160.MAX_VALUE)).start();
    futureDigest.awaitUninterruptibly();

    // should be empty
    assertTrue(futureDigest.getDigest().keyDigest().isEmpty());

    p1.shutdown().awaitUninterruptibly();
    p2.shutdown().awaitUninterruptibly();
  }
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.