private void doRequest(long n) {
        final long oldDemand = demand;
        if (oldDemand >= Long.MAX_VALUE - n) {
            demand = Long.MAX_VALUE;
        } else {
            demand = oldDemand + n;
        }

        // To make onNext know demand, we need to put this after demand updated.
        onRequest(n);

        if (oldDemand == 0 && !queue.isEmpty()) {
            notifySubscriber0();
        }
    }
Invoked whenever a new demand is requested.
@param n Newly requested demand
core/src/main/java/com/linecorp/armeria/common/stream/DefaultStreamMessage.java