/** {@inheritDoc} */ final public float[] readFloats (int length) throws KryoException { int bytesToCopy = length << 2; float[] array = new float[length]; readBytes(array, floatArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public double[] readDoubles (int length) throws KryoException { int bytesToCopy = length << 3; double[] array = new double[length]; readBytes(array, doubleArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public float[] readFloats (int length) throws KryoException { int bytesToCopy = length << 2; float[] array = new float[length]; readBytes(array, floatArrayBaseOffset, 0, bytesToCopy); return array; }
/** Reads the specified number of bytes into a new byte[]. */ public byte[] readBytes (int length) throws KryoException { byte[] bytes = new byte[length]; readBytes(bytes, 0, (long)bytes.length); return bytes; }
/** {@inheritDoc} */ final public short[] readShorts (int length) throws KryoException { int bytesToCopy = length << 1; short[] array = new short[length]; readBytes(array, shortArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public char[] readChars (int length) throws KryoException { int bytesToCopy = length << 1; char[] array = new char[length]; readBytes(array, charArrayBaseOffset, 0, bytesToCopy); return array; }
/** Reads the specified number of bytes into a new byte[]. */ public byte[] readBytes (int length) throws KryoException { byte[] bytes = new byte[length]; readBytes(bytes, 0, (long)bytes.length); return bytes; }
/** {@inheritDoc} */ final public short[] readShorts (int length) throws KryoException { int bytesToCopy = length << 1; short[] array = new short[length]; readBytes(array, shortArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public char[] readChars (int length) throws KryoException { int bytesToCopy = length << 1; char[] array = new char[length]; readBytes(array, charArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public double[] readDoubles (int length) throws KryoException { int bytesToCopy = length << 3; double[] array = new double[length]; readBytes(array, doubleArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public float[] readFloats (int length) throws KryoException { int bytesToCopy = length << 2; float[] array = new float[length]; readBytes(array, floatArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public short[] readShorts (int length) throws KryoException { int bytesToCopy = length << 1; short[] array = new short[length]; readBytes(array, shortArrayBaseOffset, 0, bytesToCopy); return array; }
/** {@inheritDoc} */ final public long[] readLongs (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 3; long[] array = new long[length]; readBytes(array, longArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readLongs(length, optimizePositive); }
final public void readBytes (Object dstObj, long offset, long count) throws KryoException { /* Unsafe supports efficient bulk reading into arrays of primitives only because of JVM limitations due to GC */ if (dstObj.getClass().isArray()) readBytes(dstObj, byteArrayBaseOffset, offset, (int)count); else { throw new KryoException("Only bulk reads of arrays is supported"); } }
/** {@inheritDoc} */ final public long[] readLongs (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 3; long[] array = new long[length]; readBytes(array, longArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readLongs(length, optimizePositive); }
final public void readBytes (Object dstObj, long offset, long count) throws KryoException { /* Unsafe supports efficient bulk reading into arrays of primitives only because of JVM limitations due to GC */ if (dstObj.getClass().isArray()) readBytes(dstObj, 0, offset, (int)count); else { throw new KryoException("Only bulk reads of arrays is supported"); } }
/** {@inheritDoc} */ final public int[] readInts (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 2; int[] array = new int[length]; readBytes(array, intArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readInts(length, optimizePositive); }
/** {@inheritDoc} */ final public int[] readInts (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 2; int[] array = new int[length]; readBytes(array, intArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readInts(length, optimizePositive); }
/** {@inheritDoc} */ final public int[] readInts (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 2; int[] array = new int[length]; readBytes(array, intArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readInts(length, optimizePositive); }
/** {@inheritDoc} */ final public long[] readLongs (int length, boolean optimizePositive) throws KryoException { if (!varIntsEnabled) { int bytesToCopy = length << 3; long[] array = new long[length]; readBytes(array, longArrayBaseOffset, 0, bytesToCopy); return array; } else return super.readLongs(length, optimizePositive); }