private boolean flushToSubscriber()

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;
        }