Package com.esotericsoftware.kryo.io

Examples of com.esotericsoftware.kryo.io.UnsafeInput


  }

  public void testCanReadInt () throws IOException {
    UnsafeOutput write = new UnsafeOutput(new ByteArrayOutputStream());

    Input read = new UnsafeInput(write.toBytes());
    assertEquals(false, read.canReadInt());

    write.writeVarInt(400, true);

    read = new UnsafeInput(write.toBytes());
    assertEquals(true, read.canReadInt());
    read.setLimit(read.limit() - 1);
    assertEquals(false, read.canReadInt());
  }
View Full Code Here


    assertEquals(4, write.writeInt(-134217728, false));
    assertEquals(4, write.writeInt(-134217728, true));
    assertEquals(4, write.writeInt(-134217729, false));
    assertEquals(4, write.writeInt(-134217729, true));

    Input read = new UnsafeInput(write.toBytes());
    assertEquals(0, read.readInt());
    assertEquals(63, read.readInt());
    assertEquals(64, read.readInt());
    assertEquals(127, read.readInt());
    assertEquals(128, read.readInt());
    assertEquals(8192, read.readInt());
    assertEquals(16384, read.readInt());
    assertEquals(2097151, read.readInt());
    assertEquals(1048575, read.readInt());
    assertEquals(134217727, read.readInt());
    assertEquals(268435455, read.readInt());
    assertEquals(134217728, read.readInt());
    assertEquals(268435456, read.readInt());
    assertEquals(-2097151, read.readInt());
    assertEquals(-1048575, read.readInt());
    assertEquals(-134217727, read.readInt());
    assertEquals(-268435455, read.readInt());
    assertEquals(-134217728, read.readInt());
    assertEquals(-268435456, read.readInt());
    assertEquals(true, read.canReadInt());
    assertEquals(true, read.canReadInt());
    assertEquals(true, read.canReadInt());
    assertEquals(0, read.readInt(true));
    assertEquals(0, read.readInt(false));
    assertEquals(63, read.readInt(true));
    assertEquals(63, read.readInt(false));
    assertEquals(64, read.readInt(true));
    assertEquals(64, read.readInt(false));
    assertEquals(127, read.readInt(true));
    assertEquals(127, read.readInt(false));
    assertEquals(128, read.readInt(true));
    assertEquals(128, read.readInt(false));
    assertEquals(8191, read.readInt(true));
    assertEquals(8191, read.readInt(false));
    assertEquals(8192, read.readInt(true));
    assertEquals(8192, read.readInt(false));
    assertEquals(16383, read.readInt(true));
    assertEquals(16383, read.readInt(false));
    assertEquals(16384, read.readInt(true));
    assertEquals(16384, read.readInt(false));
    assertEquals(2097151, read.readInt(true));
    assertEquals(2097151, read.readInt(false));
    assertEquals(1048575, read.readInt(true));
    assertEquals(1048575, read.readInt(false));
    assertEquals(134217727, read.readInt(true));
    assertEquals(134217727, read.readInt(false));
    assertEquals(268435455, read.readInt(true));
    assertEquals(268435455, read.readInt(false));
    assertEquals(134217728, read.readInt(true));
    assertEquals(134217728, read.readInt(false));
    assertEquals(268435456, read.readInt(true));
    assertEquals(268435456, read.readInt(false));
    assertEquals(-64, read.readInt(false));
    assertEquals(-64, read.readInt(true));
    assertEquals(-65, read.readInt(false));
    assertEquals(-65, read.readInt(true));
    assertEquals(-8192, read.readInt(false));
    assertEquals(-8192, read.readInt(true));
    assertEquals(-1048576, read.readInt(false));
    assertEquals(-1048576, read.readInt(true));
    assertEquals(-134217728, read.readInt(false));
    assertEquals(-134217728, read.readInt(true));
    assertEquals(-134217729, read.readInt(false));
    assertEquals(-134217729, read.readInt(true));
    assertEquals(false, read.canReadInt());

    Random random = new Random();
    for (int i = 0; i < 10000; i++) {
      int value = random.nextInt();
      write.clear();
      write.writeInt(value);
      write.writeInt(value, true);
      write.writeInt(value, false);
      read.setBuffer(write.toBytes());
      assertEquals(value, read.readInt());
      assertEquals(value, read.readInt(true));
      assertEquals(value, read.readInt(false));
    }
  }
View Full Code Here

    assertEquals(8, write.writeLong(-134217728, false));
    assertEquals(8, write.writeLong(-134217728, true));
    assertEquals(8, write.writeLong(-134217729, false));
    assertEquals(8, write.writeLong(-134217729, true));

    Input read = new UnsafeInput(write.toBytes());
    assertEquals(0, read.readLong());
    assertEquals(63, read.readLong());
    assertEquals(64, read.readLong());
    assertEquals(127, read.readLong());
    assertEquals(128, read.readLong());
    assertEquals(8192, read.readLong());
    assertEquals(16384, read.readLong());
    assertEquals(2097151, read.readLong());
    assertEquals(1048575, read.readLong());
    assertEquals(134217727, read.readLong());
    assertEquals(268435455, read.readLong());
    assertEquals(134217728, read.readLong());
    assertEquals(268435456, read.readLong());
    assertEquals(-2097151, read.readLong());
    assertEquals(-1048575, read.readLong());
    assertEquals(-134217727, read.readLong());
    assertEquals(-268435455, read.readLong());
    assertEquals(-134217728, read.readLong());
    assertEquals(-268435456, read.readLong());
    assertEquals(0, read.readLong(true));
    assertEquals(0, read.readLong(false));
    assertEquals(63, read.readLong(true));
    assertEquals(63, read.readLong(false));
    assertEquals(64, read.readLong(true));
    assertEquals(64, read.readLong(false));
    assertEquals(127, read.readLong(true));
    assertEquals(127, read.readLong(false));
    assertEquals(128, read.readLong(true));
    assertEquals(128, read.readLong(false));
    assertEquals(8191, read.readLong(true));
    assertEquals(8191, read.readLong(false));
    assertEquals(8192, read.readLong(true));
    assertEquals(8192, read.readLong(false));
    assertEquals(16383, read.readLong(true));
    assertEquals(16383, read.readLong(false));
    assertEquals(16384, read.readLong(true));
    assertEquals(16384, read.readLong(false));
    assertEquals(2097151, read.readLong(true));
    assertEquals(2097151, read.readLong(false));
    assertEquals(1048575, read.readLong(true));
    assertEquals(1048575, read.readLong(false));
    assertEquals(134217727, read.readLong(true));
    assertEquals(134217727, read.readLong(false));
    assertEquals(268435455, read.readLong(true));
    assertEquals(268435455, read.readLong(false));
    assertEquals(134217728, read.readLong(true));
    assertEquals(134217728, read.readLong(false));
    assertEquals(268435456, read.readLong(true));
    assertEquals(268435456, read.readLong(false));
    assertEquals(-64, read.readLong(false));
    assertEquals(-64, read.readLong(true));
    assertEquals(-65, read.readLong(false));
    assertEquals(-65, read.readLong(true));
    assertEquals(-8192, read.readLong(false));
    assertEquals(-8192, read.readLong(true));
    assertEquals(-1048576, read.readLong(false));
    assertEquals(-1048576, read.readLong(true));
    assertEquals(-134217728, read.readLong(false));
    assertEquals(-134217728, read.readLong(true));
    assertEquals(-134217729, read.readLong(false));
    assertEquals(-134217729, read.readLong(true));

    Random random = new Random();
    for (int i = 0; i < 10000; i++) {
      long value = random.nextLong();
      write.clear();
      write.writeLong(value);
      write.writeLong(value, true);
      write.writeLong(value, false);
      read.setBuffer(write.toBytes());
      assertEquals("Element " + i, value, read.readLong());
      assertEquals("Element " + i, value, read.readLong(true));
      assertEquals("Element " + i, value, read.readLong(false));
    }
  }
View Full Code Here

    11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, //
      31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, //
      51, 52, 53, 54, 55, 56, 57, 58, //
      61, 62, 63, 64, 65};
    ByteArrayInputStream buffer = new ByteArrayInputStream(bytes);
    Input input = new UnsafeInput(buffer, 2);
    byte[] temp = new byte[1024];
    int count = input.read(temp, 512, bytes.length);
    assertEquals(bytes.length, count);
    byte[] temp2 = new byte[count];
    System.arraycopy(temp, 512, temp2, 0, count);
    assertEquals(bytes, temp2);

    input = new UnsafeInput(bytes);
    count = input.read(temp, 512, 512);
    assertEquals(bytes.length, count);
    temp2 = new byte[count];
    System.arraycopy(temp, 512, temp2, 0, count);
    assertEquals(bytes, temp2);
  }
View Full Code Here

      public Output createOutput(int size, int limit) {
        return new UnsafeOutput(size, limit);
      }

      public Input createInput(InputStream os, int size) {
        return new UnsafeInput(os, size);
      }

      public Input createInput(byte[] buffer) {
        return new UnsafeInput(buffer);
      }
    });
   
    roundTripWithStreamFactory(length, object1, new StreamFactory() {
      public Output createOutput(OutputStream os) {
View Full Code Here

            return null;
        }

        //log.debug("Loaded {} bytes of cached info for class {}", payload.length, name);

        @Cleanup UnsafeInput deserialiserInput = new UnsafeInput(payload);
        ClassInfo cInfo = serialiser.readObject(deserialiserInput, ClassInfo.class);

        //log.info("Loaded info for {} as:\n{}", name, cInfo);

        return cInfo;
View Full Code Here

      public Output createOutput(int size, int limit) {
        return new UnsafeOutput(size, limit);
      }

      public Input createInput(InputStream os, int size) {
        return new UnsafeInput(os, size);
      }

      public Input createInput(byte[] buffer) {
        return new UnsafeInput(buffer);
      }
    });
   
    roundTripWithStreamFactory(length, object1, new StreamFactory() {
      public Output createOutput(OutputStream os) {
View Full Code Here

      }
    }

    final public void read (Input input, Object object) {
      if (bulkReadsSupported && input instanceof UnsafeInput) {
        UnsafeInput unsafeInput = (UnsafeInput)input;
        unsafeInput.readBytes(object, offset, len);
      } else if (bulkReadsSupported && input instanceof UnsafeMemoryInput) {
        UnsafeMemoryInput unsafeInput = (UnsafeMemoryInput)input;
        unsafeInput.readBytes(object, offset, len);
      } else {
        readSlow(input, object);
      }
    }
View Full Code Here

 
  static private boolean isUnsafe = UnsafeUtil.unsafe() != null;

  @Override
  public Input getInput() {
    return (isUnsafe)? new UnsafeInput() : new Input();
  }
View Full Code Here

    return (isUnsafe)? new UnsafeInput() : new Input();
  }

  @Override
  public Input getInput(int bufferSize) {
    return (isUnsafe)? new UnsafeInput(bufferSize) : new Input(bufferSize);
  }
View Full Code Here

TOP

Related Classes of com.esotericsoftware.kryo.io.UnsafeInput

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.