@Override public int read(final byte[] pBuffer, final int pOffset, final int pLength) throws IOException { checkClosed(); bitOffset = 0; if (!buffer.hasRemaining()) { // Bypass buffer if buffer is empty for reads longer than buffer if (pLength >= buffer.capacity()) { return readDirect(pBuffer, pOffset, pLength); } else { fillBuffer(); } } return readBuffered(pBuffer, pOffset, pLength); }
@Override public int read(final byte[] pBuffer, final int pOffset, final int pLength) throws IOException { bitOffset = 0; if (!buffer.hasRemaining()) { // Bypass cache if cache is empty for reads longer than buffer if (pLength >= buffer.capacity()) { return readDirect(pBuffer, pOffset, pLength); } else { fillBuffer(); } } return readBuffered(pBuffer, pOffset, pLength); }
@Override public int read(final byte[] pBuffer, final int pOffset, final int pLength) throws IOException { bitOffset = 0; if (!isBufferValid()) { // Bypass cache if cache is empty for reads longer than buffer if (pLength >= mBuffer.length) { return readDirect(pBuffer, pOffset, pLength); } else { fillBuffer(); } } return readBuffered(pBuffer, pOffset, pLength); }