in src/main/java/org/apache/commons/crypto/stream/input/StreamInput.java [95:113]
public int read(final ByteBuffer dst) throws IOException {
int remaining = dst.remaining();
int read = 0;
while (remaining > 0) {
final int n = in.read(buf, 0, Math.min(remaining, bufferSize));
if (n == EOS) {
if (read == 0) {
read = EOS;
}
break;
}
if (n > 0) {
dst.put(buf, 0, n);
read += n;
remaining -= n;
}
}
return read;
}