long responseTimeoutMillis() {
            if (!timeoutForWholeRetryEnabled()) {
                return config.responseTimeoutMillisForEachAttempt();
            }

            final long actualResponseTimeoutMillis = actualResponseTimeoutMillis();

            // Consider 0 or less than 0 of actualResponseTimeoutMillis as timed out.
            if (actualResponseTimeoutMillis <= 0) {
                return -1;
            }

            if (config.responseTimeoutMillisForEachAttempt() > 0) {
                return Math.min(config.responseTimeoutMillisForEachAttempt(), actualResponseTimeoutMillis);
            }

            return actualResponseTimeoutMillis;
        }
Returns the smaller value between {@link RetryConfig#responseTimeoutMillisForEachAttempt()} and
remaining {@link #responseTimeoutMillis}.

@return 0 if the response timeout for both of each request and whole retry is disabled or
        -1 if the elapsed time from the first request has passed {@code responseTimeoutMillis}
core/src/main/java/com/linecorp/armeria/client/retry/AbstractRetryingClient.java