@Override public BufferHolder rebuffer(long position) { offset = alignedPosition(position); source.readChunk(offset, buffer); return this; }
@Override public BufferHolder rebuffer(long position) { offset = alignedPosition(position); source.readChunk(offset, buffer); return this; }
@Override public BufferHolder rebuffer(long position) { offset = alignedPosition(position); source.readChunk(offset, buffer); return this; }
@Override public BufferHolder rebuffer(long position) { offset = alignedPosition(position); source.readChunk(offset, buffer); return this; }
@Override public Buffer load(Key key) throws Exception { ChunkReader rebufferer = key.file; metrics.misses.mark(); try (Timer.Context ctx = metrics.missLatency.time()) { ByteBuffer buffer = BufferPool.get(key.file.chunkSize(), key.file.preferredBufferType()); assert buffer != null; rebufferer.readChunk(key.position, buffer); return new Buffer(buffer, key.position); } }
@Override public Buffer load(Key key) throws Exception { ChunkReader rebufferer = key.file; metrics.misses.mark(); try (Timer.Context ctx = metrics.missLatency.time()) { ByteBuffer buffer = BufferPool.get(key.file.chunkSize(), key.file.preferredBufferType()); assert buffer != null; rebufferer.readChunk(key.position, buffer); return new Buffer(buffer, key.position); } }
@Override public Buffer load(Key key) throws Exception { ChunkReader rebufferer = key.file; metrics.misses.mark(); try (Timer.Context ctx = metrics.missLatency.time()) { ByteBuffer buffer = BufferPool.get(key.file.chunkSize(), key.file.preferredBufferType()); assert buffer != null; rebufferer.readChunk(key.position, buffer); return new Buffer(buffer, key.position); } }
@Override public Buffer load(Key key) throws Exception { ChunkReader rebufferer = key.file; metrics.misses.mark(); try (Timer.Context ctx = metrics.missLatency.time()) { ByteBuffer buffer = BufferPool.get(key.file.chunkSize(), key.file.preferredBufferType()); assert buffer != null; rebufferer.readChunk(key.position, buffer); return new Buffer(buffer, key.position); } }
@Override public BufferHolder rebuffer(long desiredPosition) { if (desiredPosition != offset + buffer.position()) validator.seek(desiredPosition); // align with buffer size, as checksums were computed in chunks of buffer size each. offset = alignedPosition(desiredPosition); source.readChunk(offset, buffer); try { validator.validate(ByteBufferUtil.getArray(buffer), 0, buffer.remaining()); } catch (IOException e) { throw new CorruptFileException(e, channel().filePath()); } return this; }
@Override public BufferHolder rebuffer(long desiredPosition) { if (desiredPosition != offset + buffer.position()) validator.seek(desiredPosition); // align with buffer size, as checksums were computed in chunks of buffer size each. offset = alignedPosition(desiredPosition); source.readChunk(offset, buffer); try { validator.validate(ByteBufferUtil.getArray(buffer), 0, buffer.remaining()); } catch (IOException e) { throw new CorruptFileException(e, channel().filePath()); } return this; }
@Override public BufferHolder rebuffer(long desiredPosition) { if (desiredPosition != offset + buffer.position()) validator.seek(desiredPosition); // align with buffer size, as checksums were computed in chunks of buffer size each. offset = alignedPosition(desiredPosition); source.readChunk(offset, buffer); try { validator.validate(ByteBufferUtil.getArray(buffer), 0, buffer.remaining()); } catch (IOException e) { throw new CorruptFileException(e, channel().filePath()); } return this; }