Package net.tomp2p.storage

Examples of net.tomp2p.storage.Data


                  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!
                    DataBuffer reconstructedValue = RSync.reconstruct(dataOld.toBytes(), instructions, blockSize);
                    //TODO: domain protection?, make the flags configurable
                    Enum<?> status = storageLayer.put(entry.getKey(), new Data(reconstructedValue), publicKey, false, false);
                    if (status == PutStatus.OK) {
                        retVal.add(entry.getKey());
                        if (replicationListener != null) {
                          replicationListener.dataInserted(
                                    entry.getKey().locationKey());
View Full Code Here


  public boolean put(Number320 key, PeerAddress peerAddress, PublicKey publicKey, Data attachement) {
    if (peerOffline.containsKey(peerAddress.peerId())) {
      return false;
    }
    // security check
    Data oldDataUnverified = findOld(key, peerAddress, dataMapUnverified);
    boolean isUnverified = false;
    boolean isVerified = false;
    if(oldDataUnverified != null) {
      //security check
      if (oldDataUnverified.publicKey()!=null && !oldDataUnverified.publicKey().equals(publicKey)) {
        return false;
      }
      isUnverified = true;
    } else {
      Data oldData = findOld(key, peerAddress, dataMap);
      if(oldData != null) {
        //security check
        if (oldData.publicKey()!=null && !oldData.publicKey().equals(publicKey)) {
          return false;
        }
        isVerified = true;
      }
    }
   
    if(attachement == null) {
      attachement = new Data();
    }
    // now store
    attachement.publicKey(publicKey);
    final Map<Number320, TrackerData> dataMapToStore;
    if(isUnverified) {
View Full Code Here

            final boolean isRange, final boolean isCollection, final boolean isBloomFilterAnd) {
      final Map<Number640, Data> result;
        if (isCollection) {
            result = new HashMap<Number640, Data>();
            for (Number640 key : contentKeys.keys()) {
                Data data = storageLayer.get(key);
                if (data != null) {
                    result.put(key, data);
                }
            }
        } else if (isRange) {
View Full Code Here

      final Number160 contentKey = Number160.ZERO;
      final String value = "Test";

      HashMap<Number640, Data> map = new HashMap<Number640, Data>();
      final DataMap dataMap = new DataMap(map);
      map.put(new Number640(locationKey, domainKey, contentKey, Number160.ZERO), new Data("Test"));

      sender.put(locationKey).data(new Data(value)).start().awaitUninterruptibly();
      receiver.put(locationKey).data(new Data(value)).start().awaitUninterruptibly();

      sender.peer().bootstrap().peerAddress(receiver.peerAddress()).start().awaitUninterruptibly();

      FutureChannelCreator futureChannelCreator = sender.peer().connectionBean().reservation().create(0, 1);
View Full Code Here

      final Number160 contentKey = Number160.ZERO;
      final String value = "Test";

      HashMap<Number640, Data> map = new HashMap<Number640, Data>();
      final DataMap dataMap = new DataMap(map);
      map.put(new Number640(locationKey, domainKey, contentKey, Number160.ZERO), new Data("Test"));

      sender.put(locationKey).data(new Data(value)).start().awaitUninterruptibly();

      sender.peer().bootstrap().peerAddress(receiver.peerAddress()).start().awaitUninterruptibly();
      final CountDownLatch latch = new CountDownLatch(1);
      final PeerAddress receiverAddress = receiver.peerAddress();
      FutureChannelCreator futureChannelCreator = sender.peer().connectionBean().reservation().create(0, 1);
View Full Code Here

      final Number160 contentKey = Number160.ZERO;

      final String value = "Test";
      final String value1 = "Test1";

      sender.put(locationKey).data(new Data(value)).start().awaitUninterruptibly();
      receiver.put(locationKey).data(new Data(value1)).start().awaitUninterruptibly();

      HashMap<Number640, Data> map = new HashMap<Number640, Data>();
      final DataMap dataMap = new DataMap(map);
      map.put(new Number640(locationKey, domainKey, contentKey, Number160.ZERO), new Data("Test"));

      sender.peer().bootstrap().peerAddress(receiver.peerAddress()).start().awaitUninterruptibly();

      final CountDownLatch latch = new CountDownLatch(1);
      final PeerAddress receiverAddress = receiver.peerAddress();
View Full Code Here

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

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

      sender.put(locationKey).data(test1).start().awaitUninterruptibly();
      receiver.put(locationKey).data(test2).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(26, ((SyncStat)future.object()).dataCopy());
    } finally {
View Full Code Here

      final Number160 contentKey = Number160.ZERO;
      Number640 key = new Number640(locationKey, domainKey, contentKey, Number160.ZERO);
      final String newValue = "TomP2P 5 is around the corner with several new additions. One of the larger changes is the support for relays as described here. Check out the latest alpha version.";
      final String oldValue = "TomP2P 5 is around the corner with several new additions! One of the larger changes is the support for relays as described here. Check out the latest alpha version.";

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

      sender.put(locationKey).data(test1).start().awaitUninterruptibly();
      receiver.put(locationKey).data(test2).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(164, ((SyncStat)future.object()).dataOrig());
      Assert.assertEquals(56, ((SyncStat)future.object()).dataCopy());
    } finally {
View Full Code Here

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

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

      sender.put(locationKey).data(test1).start().awaitUninterruptibly();
      receiver.put(locationKey).data(test2).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(0, ((SyncStat)future.object()).dataOrig());
      Assert.assertEquals(0, ((SyncStat)future.object()).dataCopy());
View Full Code Here

      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 {
      if (sender != null) {
View Full Code Here

TOP

Related Classes of net.tomp2p.storage.Data

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.