in oss-20190517/src/main/java/com/aliyun/sdk/service/oss20190517/encryption/internal/AsyncDecryptResponseHandler.java [82:105]
private boolean flushToSubscriber(byte[] data) {
if (data == null) {
return true;
}
long offset = 0;
long remains = data.length;
if (numBytesToSkip > 0) {
long min = Math.min(numBytesToSkip, data.length);
numBytesToSkip = numBytesToSkip - min;
remains = remains - min;
offset = offset + min;
}
if (remains > 0) {
long send = Math.min(remains, numBytesToRead);
if (send > 0) {
this.subscriber.onNext(ByteBuffer.wrap(data, (int) offset, (int) send));
numBytesToRead = numBytesToRead - send;
}
remains = remains - send;
}
return true;
}