private void reBufferAt(long position) { bufferHolder.release(); bufferHolder = rebufferer.rebuffer(position); buffer = bufferHolder.buffer(); buffer.position(Ints.checkedCast(position - bufferHolder.offset())); assert buffer.order() == ByteOrder.BIG_ENDIAN : "Buffer must have BIG ENDIAN byte ordering"; }
private void reBufferAt(long position) { bufferHolder.release(); bufferHolder = rebufferer.rebuffer(position); buffer = bufferHolder.buffer(); buffer.position(Ints.checkedCast(position - bufferHolder.offset())); assert buffer.order() == ByteOrder.BIG_ENDIAN : "Buffer must have BIG ENDIAN byte ordering"; }
private void reBufferAt(long position) { bufferHolder.release(); bufferHolder = rebufferer.rebuffer(position); buffer = bufferHolder.buffer(); buffer.position(Ints.checkedCast(position - bufferHolder.offset())); assert buffer.order() == ByteOrder.BIG_ENDIAN : "Buffer must have BIG ENDIAN byte ordering"; }
@Override public BufferHolder rebuffer(long position) { bufferHolder = wrapped.rebuffer(position); buffer = bufferHolder.buffer(); offset = bufferHolder.offset(); int posInBuffer = Ints.checkedCast(position - offset); int remaining = buffer.limit() - posInBuffer; if (remaining == 0) return this; if (remaining > limitQuant) { buffer.limit(posInBuffer + limitQuant); // certainly below current limit remaining = limitQuant; } limiter.acquire(remaining); return this; }
@Override public BufferHolder rebuffer(long position) { bufferHolder = wrapped.rebuffer(position); buffer = bufferHolder.buffer(); offset = bufferHolder.offset(); int posInBuffer = Ints.checkedCast(position - offset); int remaining = buffer.limit() - posInBuffer; if (remaining == 0) return this; if (remaining > limitQuant) { buffer.limit(posInBuffer + limitQuant); // certainly below current limit remaining = limitQuant; } limiter.acquire(remaining); return this; }
@Override public BufferHolder rebuffer(long position) { bufferHolder = wrapped.rebuffer(position); buffer = bufferHolder.buffer(); offset = bufferHolder.offset(); int posInBuffer = Ints.checkedCast(position - offset); int remaining = buffer.limit() - posInBuffer; if (remaining == 0) return this; if (remaining > limitQuant) { buffer.limit(posInBuffer + limitQuant); // certainly below current limit remaining = limitQuant; } limiter.acquire(remaining); return this; }
private void reBufferAt(long position) { bufferHolder.release(); bufferHolder = rebufferer.rebuffer(position); buffer = bufferHolder.buffer(); buffer.position(Ints.checkedCast(position - bufferHolder.offset())); assert buffer.order() == ByteOrder.BIG_ENDIAN : "Buffer must have BIG ENDIAN byte ordering"; }
@Override public BufferHolder rebuffer(long position) { bufferHolder = wrapped.rebuffer(position); buffer = bufferHolder.buffer(); offset = bufferHolder.offset(); int posInBuffer = Ints.checkedCast(position - offset); int remaining = buffer.limit() - posInBuffer; if (remaining == 0) return this; if (remaining > limitQuant) { buffer.limit(posInBuffer + limitQuant); // certainly below current limit remaining = limitQuant; } limiter.acquire(remaining); return this; }