Package net.tomp2p.peers

Examples of net.tomp2p.peers.Number640


      new PeerSync(receiver, 5);

      final Number160 locationKey = new Number160(600);
      final Number160 domainKey = Number160.ZERO;
      final Number160 contentKey = Number160.ZERO;
      Number640 key = new Number640(locationKey, domainKey, contentKey, Number160.ZERO);
      final String newValue = "Test1Test2Test3Test4";

      Data test1 = new Data(newValue.getBytes());

      sender.put(locationKey).data(test1).start().awaitUninterruptibly();

      FutureDone<SyncStat> future = senderSync.synchronize(receiver.peerAddress()).key(key)
              .start();
      future.awaitUninterruptibly();

      System.err.println(future.object().toString());

      Data data = receiver.storageLayer()
              .get(new Number640(locationKey, domainKey, contentKey, Number160.ZERO));
      byte[] reconstructedValue = data.toBytes();
      assertArrayEquals(newValue.getBytes(), reconstructedValue);
      Assert.assertEquals(20, ((SyncStat)future.object()).dataOrig());
      Assert.assertEquals(20, ((SyncStat)future.object()).dataCopy());
    } finally {
View Full Code Here


            Data data = new Data("Test");
            FuturePut futureDHT = master.put(Number160.createHash("2")).data(data).start();
            futureDHT.awaitUninterruptibly();
            futureDHT.futureRequests().awaitUninterruptibly();
            //now, do the routing, so that each peers know each other. The content should be moved
            Assert.assertEquals(false, peers[1].storageLayer().contains(new Number640(Number160.createHash("2"), Number160.ZERO, Number160.ZERO, Number160.ZERO)));
            Utils2.perfectRouting(peers);
            //we should see now the forward replication
            Thread.sleep(1000);
            //test it
            Assert.assertEquals(true, peers[1].storageLayer().contains(new Number640(Number160.createHash("2"), Number160.ZERO, Number160.ZERO, Number160.ZERO)));
           
        } finally {
            if (master != null) {
                master.shutdown().awaitUninterruptibly();
            }
View Full Code Here

            int i = 0;
            // wait for 2.5 sec
            final int tests = 10;
            final int wait = 2500;
            while (!peerClose.storageLayer()
                    .contains(new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO))) {
                Thread.sleep(wait / tests);
                i++;
                if (i > tests) {
                    break;
                }
            }
            Assert.assertEquals(true, peerClose.storageLayer()
                    .contains(new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO)));
        } finally {
            if (master != null) {
                master.shutdown().awaitUninterruptibly();
            }
        }
View Full Code Here

      if(!nRoot) {
        return null;
      }
        LOG.debug("Other peer {} is responsible for {}. I'm {}", other, locationKey, peer.peerAddress());
       
        Number640 min = new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO);
        Number640 max = new Number640(locationKey, Number160.MAX_VALUE, Number160.MAX_VALUE,
            Number160.MAX_VALUE);
        final Map<Number640, Data> dataMap = peer.storageLayer().get(min, max, -1, true);
        LOG.debug("transfer from {} to {} for key {}", peer.peerAddress(), other, locationKey);
        return replicationSender.sendDirect(other, locationKey, dataMap);
    }
View Full Code Here

    }
   
    @Override
    public void meResponsible(final Number160 locationKey, PeerAddress newPeer) {
        LOG.debug("I ({}) sync {} to {}", peer.peerAddress(), locationKey, newPeer);
        Number640 min = new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO);
        Number640 max = new Number640(locationKey, Number160.MAX_VALUE, Number160.MAX_VALUE,
                Number160.MAX_VALUE);
        final Map<Number640, Data> dataMap = peer.storageLayer().get(min, max, -1, true);
        replicationSender.sendDirect(newPeer, locationKey, dataMap);
    }
View Full Code Here

     *
     * @param locationKey
     *            The location key.
     */
    private void synchronizeData(final Number160 locationKey) {
        Number640 min = new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO);
        Number640 max = new Number640(locationKey, Number160.MAX_VALUE, Number160.MAX_VALUE,
                Number160.MAX_VALUE);
        final Map<Number640, Data> dataMap = peer.storageLayer().get(min, max, -1, true);
        List<PeerAddress> closePeers = send(locationKey, dataMap);
        LOG.debug("[storage refresh] I ({}) restore {} to {}", peer.peerAddress(),
                locationKey, closePeers);
View Full Code Here

    for (final QueryNode queryPeer : queries) {
      new Thread(new Runnable() {
        @Override
        public void run() {
          try {
            queryPeer.querySpecific(new Number640(getRandomUnreachable().peerId(), Number160.ZERO,
                new Number160(new Random()), Number160.ZERO));
          } catch (Exception e) {
            LOG.error("Cannot put / get / remove", e);
          }
        }
View Full Code Here

    sb.append("RMV:  count: ").append(putStats.getCount()).append(" | avgtime: ").append(rmvStats.getAverageTime()).append("ms | success: ").append(rmvStats.getSuccessRate());
    System.out.println(sb.toString());
  }

  private void put(Number160 key) {
    put(new Number640(key, Number160.ZERO, Number160.ZERO, Number160.ZERO));
    validKeys.add(key);
  }
View Full Code Here

        futurePut.failedReason());
    return futurePut.isSuccess();
  }

  private void get(Number160 key) {
    Data data = get(new Number640(key, Number160.ZERO, Number160.ZERO, Number160.ZERO));
    byte[] byteArray = new byte[0];
    if (data != null) {
      byteArray = (byte[]) data.toBytes();
    }
    LOG.debug("Got {} bytes", byteArray.length);
View Full Code Here

      return null;
    }
  }

  private void remove(Number160 key) {
    if (remove(new Number640(key, Number160.ZERO, Number160.ZERO, Number160.ZERO))) {
      LOG.debug("Removed object {}", key);
      validKeys.remove(key);
    } else {
      LOG.warn("Could not remove object {}", key);
    }
View Full Code Here

TOP

Related Classes of net.tomp2p.peers.Number640

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.