Package net.tomp2p.peers

Examples of net.tomp2p.peers.Number640


        byte[] me13 = new byte[] { 3, 3 };
        byte[] me14 = new byte[] { 4, 4 };
        Map<PeerAddress, Map<Number640, Data>> rawData = new HashMap<PeerAddress, Map<Number640, Data>>();
        PeerAddress pa1 = Utils2.createAddress(19);
        Map<Number640, Data> test1 = new HashMap<Number640, Data>();
        test1.put(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0)), new Data(me12));
        test1.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        test1.put(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0)), new Data(me14));
        rawData.put(pa1, test1);
        //
        PeerAddress pa2 = Utils2.createAddress(20);
        Map<Number640, Data> test2 = new HashMap<Number640, Data>();
        test2.put(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0)), new Data(me12));
        test2.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        rawData.put(pa2, test2);
        //
        PeerAddress pa3 = Utils2.createAddress(21);
        Map<Number640, Data> test3 = new HashMap<Number640, Data>();
        test3.put(new Number640(new Number160(11),new Number160(11),new Number160(11),new Number160(0)), new Data(me11));
        test3.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        test3.put(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0)), new Data(me14));
        rawData.put(pa3, test3);
        VotingSchemeDHT evs = new VotingSchemeDHT();
        Map<Number640, Data> tmp = evs.evaluate2(rawData);
        Assert.assertEquals(false, tmp.containsKey(new Number640(new Number160(11),new Number160(11),new Number160(11),new Number160(0))));
        Assert.assertEquals(true, tmp.containsKey(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0))));
        Assert.assertEquals(true, tmp.containsKey(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0))));
        Assert.assertEquals(true, tmp.containsKey(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0))));
    }
View Full Code Here


        byte[] me13 = new byte[] { 3, 3 };
        byte[] me14 = new byte[] { 4, 4 };
        Map<PeerAddress, Map<Number640, Data>> rawData = new HashMap<PeerAddress, Map<Number640, Data>>();
        PeerAddress pa1 = Utils2.createAddress(19);
        Map<Number640, Data> test1 = new HashMap<Number640, Data>();
        test1.put(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0)), new Data(me12));
        test1.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        test1.put(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0)), new Data(me14));
        rawData.put(pa1, test1);
        //
        PeerAddress pa2 = Utils2.createAddress(20);
        Map<Number640, Data> test2 = new HashMap<Number640, Data>();
        test2.put(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0)), new Data(me11));
        test2.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        rawData.put(pa2, test2);
        //
        PeerAddress pa3 = Utils2.createAddress(21);
        Map<Number640, Data> test3 = new HashMap<Number640, Data>();
        test3.put(new Number640(new Number160(11),new Number160(11),new Number160(11),new Number160(0)), new Data(me11));
        test3.put(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0)), new Data(me13));
        test3.put(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0)), new Data(me14));
       
        rawData.put(pa3, test3);
        VotingSchemeDHT evs = new VotingSchemeDHT();
        Map<Number640, Data> tmp = evs.evaluate2(rawData);
       
        Assert.assertEquals(false, tmp.containsKey(new Number640(new Number160(11),new Number160(11),new Number160(11),new Number160(0))));
        Assert.assertEquals(false, tmp.containsKey(new Number640(new Number160(12),new Number160(12),new Number160(12),new Number160(0))));
        Assert.assertEquals(true, tmp.containsKey(new Number640(new Number160(13),new Number160(13),new Number160(13),new Number160(0))));
        Assert.assertEquals(true, tmp.containsKey(new Number640(new Number160(14),new Number160(14),new Number160(14),new Number160(0))));
    }
View Full Code Here

    @Override
    public boolean put(Number640 key, Data value) {
        dataMap.put(key, value);
        if (maxVersions > 0) {
          NavigableMap<Number640, Data> versions = dataMap.subMap(
        new Number640(key.locationKey(), key.domainKey(), key.contentKey(), Number160.ZERO), true,
        new Number640(key.locationKey(), key.domainKey(), key.contentKey(), Number160.MAX_VALUE), true);
     
      while (!versions.isEmpty()
              && versions.firstKey().versionKey().timestamp() + maxVersions <= versions.lastKey().versionKey()
                      .timestamp()) {
        Map.Entry<Number640, Data> entry = versions.pollFirstEntry();
View Full Code Here

    if (version.basedOnSet().isEmpty()) {
      return;
    }
    // remove all predecessor versions recursively
    for (Number160 basedOnKey : version.basedOnSet()) {
      deletePredecessors(new Number640(key.locationAndDomainAndContentKey(), basedOnKey), sortedMap);
    }
  }
View Full Code Here

      }
    }
  }

  private boolean isEmpty(Number160 locationKey) {
    Number640 from = new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO);
    Number640 to = new Number640(locationKey, Number160.MAX_VALUE, Number160.MAX_VALUE, Number160.MAX_VALUE);
    Map<Number640, Data> tmp = backend.subMap(from, to, 1, false);
    return tmp.size() == 0;
  }
View Full Code Here

    public DigestInfo digest(Number320 locationAndDomainKey, SimpleBloomFilter<Number160> keyBloomFilter,
          SimpleBloomFilter<Number160> contentBloomFilter, int limit, boolean ascending, boolean isBloomFilterAnd) {
    DigestInfo digestInfo = new DigestInfo();
    KeyLock<Number320>.RefCounterLock lock = dataLock320.lock(locationAndDomainKey);
    try {
      Number640 from = new Number640(locationAndDomainKey, Number160.ZERO, Number160.ZERO);
      Number640 to = new Number640(locationAndDomainKey, Number160.MAX_VALUE, Number160.MAX_VALUE);
      Map<Number640, Data> tmp = backend.subMap(from, to, limit, ascending);
      for (Map.Entry<Number640, Data> entry : tmp.entrySet()) {
        if (isBloomFilterAnd) {
          if (keyBloomFilter == null || keyBloomFilter.contains(entry.getKey().contentKey())) {
            if (contentBloomFilter == null || contentBloomFilter.contains(entry.getValue().hash())) {
View Full Code Here

  public void removeResponsibility(Number160 locationKey, boolean keepData) {
    KeyLock<Number160>.RefCounterLock lock = responsibilityLock.lock(locationKey);
    try {
      if (!keepData) {
        backend.remove(
            new Number640(locationKey, Number160.ZERO, Number160.ZERO, Number160.ZERO),
            new Number640(locationKey, Number160.MAX_VALUE, Number160.MAX_VALUE, Number160.MAX_VALUE),
            false);
      }
          backend.removeResponsibility(locationKey);
        } finally {
            responsibilityLock.unlock(lock);
View Full Code Here

                  final ByteBuf buf = entry.getValue().buffer();
                  Number160 versionKey = SyncUtils.decodeHeader(buf);
                  Number160 hash = SyncUtils.decodeHeader(buf);
                    List<Instruction> instructions = SyncUtils.decodeInstructions(buf);

                    Data dataOld = storageLayer.get(new Number640(entry.getKey().locationAndDomainAndContentKey(), versionKey));

                    if (dataOld == null || !dataOld.hash().equals(hash)) {
                        continue;
                    }
                    // TODO: don't copy data, toBytes does a copy!
View Full Code Here

          dataSize = 1;
          result = new HashMap<Number640, Byte>(1);
          LOG.debug("received meta request to change domain");
          Number160 locationKey = message.key(0);
          Number160 domainKey = message.key(1);
          final Number640 key = new Number640(locationKey, domainKey, Number160.ZERO, Number160.ZERO);
          PublicKey publicKeyChange = message.publicKey(1);
          Enum<?> status = storageLayer.updateMeta(key.locationAndDomainKey(), publicKey, publicKeyChange);
          result.put(key, (byte) status.ordinal());
        } else {
          dataSize = toStore.size();
            result = new HashMap<Number640, Byte>(dataSize);
          LOG.debug("received meta request to change entry");
View Full Code Here

        LOG.debug("add list data with key {} on {}", entry.getKey(), serverPeerAddress);
        if (list) {
            Number160 contentKey2 = new Number160(RND);
            Enum<?> status;
            Number640 key = new Number640(entry.getKey().locationKey(), entry.getKey().domainKey(),
                    contentKey2, entry.getKey().versionKey());
            while ((status = storageLayer.put(key, entry.getValue(), publicKey, true, protectDomain)) == PutStatus.FAILED_NOT_ABSENT) {
                contentKey2 = new Number160(RND);
            }
            return status;
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.