boolean compressed; if (RCFILE_MAGIC.equals(magic)) { version = input.readByte(); verify(version <= CURRENT_VERSION, "RCFile version %s not supported: %s", version, dataSource); validateWrite(validation -> validation.getVersion() == version, "Unexpected file version"); byte sequenceFileVersion = input.readByte(); verify(sequenceFileVersion == SEQUENCE_FILE_VERSION, "File %s is a SequenceFile not an RCFile", dataSource);
@Override public int readUnsignedByte() { return readByte() & 0xFF; }
@Override public boolean readBoolean() { return readByte() != 0; }
@Override public boolean readBoolean() { return readByte() != 0; }
@Override public int readUnsignedByte() { return readByte() & 0xFF; }
@Test public void testSetPosition() { // Create a ChunkedSliceInput with 160 bytes, and set bufferSize to 130. // This test read bytes sequentially, but calls setPosition every time. // Only 2 reads should be issued to the underlying SliceLoader. One when // trying to read position 0, and one when trying to read position 130. int length = 160; int bufferSize = 130; Slice slice = Slices.utf8Slice(Strings.repeat("0", length)); SliceSliceLoader loader = new SliceSliceLoader(slice); ChunkedSliceInput chunkedSliceInput = new ChunkedSliceInput(loader, bufferSize); ArrayList<Integer> actual = new ArrayList<>(); for (int i = 0; i < length; i++) { chunkedSliceInput.setPosition(i); chunkedSliceInput.readByte(); int count = loader.getCount(); actual.add(count); } List<Integer> expected = IntStream.range(0, length) .map(i -> i < bufferSize ? 1 : 2) .boxed() .collect(Collectors.toList()); assertEquals(actual, expected); }
@Test public void testSetPosition() { // Create a ChunkedSliceInput with 160 bytes, and set bufferSize to 130. // This test read bytes sequentially, but calls setPosition every time. // Only 2 reads should be issued to the underlying SliceLoader. One when // trying to read position 0, and one when trying to read position 130. int length = 160; int bufferSize = 130; Slice slice = Slices.utf8Slice(Strings.repeat("0", length)); SliceSliceLoader loader = new SliceSliceLoader(slice); ChunkedSliceInput chunkedSliceInput = new ChunkedSliceInput(loader, bufferSize); ArrayList<Integer> actual = new ArrayList<>(); for (int i = 0; i < length; i++) { chunkedSliceInput.setPosition(i); chunkedSliceInput.readByte(); int count = loader.getCount(); actual.add(count); } List<Integer> expected = IntStream.range(0, length) .map(i -> i < bufferSize ? 1 : 2) .boxed() .collect(Collectors.toList()); assertEquals(actual, expected); }
@Test public void testRetainedSize() { int length = 1024; int bufferSize = 128; Slice slice = Slices.utf8Slice(Strings.repeat("0", length)); SliceSliceLoader loader = new SliceSliceLoader(slice); ChunkedSliceInput chunkedSliceInput = new ChunkedSliceInput(loader, bufferSize); for (int i = 0; i < length; i++) { chunkedSliceInput.setPosition(i); chunkedSliceInput.readByte(); assertRetainedSize(chunkedSliceInput); long retainedSize = chunkedSliceInput.getRetainedSize(); assertTrue(retainedSize > bufferSize && retainedSize < length); } }
@Test public void testRetainedSize() { int length = 1024; int bufferSize = 128; Slice slice = Slices.utf8Slice(Strings.repeat("0", length)); SliceSliceLoader loader = new SliceSliceLoader(slice); ChunkedSliceInput chunkedSliceInput = new ChunkedSliceInput(loader, bufferSize); for (int i = 0; i < length; i++) { chunkedSliceInput.setPosition(i); chunkedSliceInput.readByte(); assertRetainedSize(chunkedSliceInput); long retainedSize = chunkedSliceInput.getRetainedSize(); assertTrue(retainedSize > bufferSize && retainedSize < length); } }
boolean compressed; if (RCFILE_MAGIC.equals(magic)) { version = input.readByte(); verify(version <= CURRENT_VERSION, "RCFile version %s not supported: %s", version, dataSource); validateWrite(validation -> validation.getVersion() == version, "Unexpected file version"); byte sequenceFileVersion = input.readByte(); verify(sequenceFileVersion == SEQUENCE_FILE_VERSION, "File %s is a SequenceFile not an RCFile", dataSource);
boolean compressed; if (RCFILE_MAGIC.equals(magic)) { version = input.readByte(); verify(version <= CURRENT_VERSION, "RCFile version %s not supported: %s", version, dataSource); validateWrite(validation -> validation.getVersion() == version, "Unexpected file version"); byte sequenceFileVersion = input.readByte(); verify(sequenceFileVersion == SEQUENCE_FILE_VERSION, "File %s is a SequenceFile not an RCFile", dataSource);