in encryption/src/main/java/org/apache/solr/encryption/crypto/DecryptingIndexInput.java [79:102]
private DecryptingIndexInput(String resourceDescription,
long delegateOffset,
long sliceOffset,
long sliceLength,
boolean isClone,
IndexInput indexInput,
AesCtrEncrypter encrypter) {
super(resourceDescription);
assert delegateOffset >= 0 && sliceOffset >= 0 && sliceLength >= 0;
this.delegateOffset = delegateOffset;
this.sliceOffset = sliceOffset;
this.sliceEnd = sliceOffset + sliceLength;
this.isClone = isClone;
this.indexInput = indexInput;
this.encrypter = encrypter;
encrypter.init(0);
inBuffer = ByteBuffer.allocate(getBufferCapacity());
outBuffer = ByteBuffer.allocate(getBufferCapacity() + AES_BLOCK_SIZE);
outBuffer.limit(0);
assert inBuffer.hasArray() && outBuffer.hasArray();
assert inBuffer.arrayOffset() == 0;
inArray = inBuffer.array();
oneByteBuf = new byte[1];
}