public HealthCheckServiceBuilder longPolling(long maxLongPollingTimeoutMillis,
                                                 double longPollingTimeoutJitterRate,
                                                 long pingIntervalMillis) {
        checkArgument(maxLongPollingTimeoutMillis >= 0,
                      "maxLongPollingTimeoutMillis: %s (expected: >= 0)",
                      maxLongPollingTimeoutMillis);
        checkArgument(pingIntervalMillis >= 0,
                      "pingIntervalMillis: %s (expected: >= 0)", pingIntervalMillis);
        checkArgument(longPollingTimeoutJitterRate >= 0 && longPollingTimeoutJitterRate <= 1,
                      "longPollingTimeoutJitterRate: %s (expected: >= 0 && <= 1)",
                      longPollingTimeoutJitterRate);
        this.maxLongPollingTimeoutMillis = maxLongPollingTimeoutMillis;
        this.longPollingTimeoutJitterRate = longPollingTimeoutJitterRate;
        this.pingIntervalMillis = pingIntervalMillis;
        return this;
    }
Enables or disables long-polling support. By default, long-polling support is enabled with
the max timeout of {@value #DEFAULT_LONG_POLLING_TIMEOUT_SECONDS} seconds and
the jitter rate of {@value #DEFAULT_LONG_POLLING_TIMEOUT_JITTER_RATE}.

@param maxLongPollingTimeoutMillis A positive maximum allowed timeout value which is specified by
                                   a client in the {@code "prefer: wait=<n>"} request header.
                                   Specify {@code 0} to disable long-polling support.
@param longPollingTimeoutJitterRate The jitter rate which adds a random variation to the long-polling
                                    timeout specified in the {@code "prefer: wait=<n>"} header.
@return {@code this}
@see #longPolling(long)
core/src/main/java/com/linecorp/armeria/server/healthcheck/HealthCheckServiceBuilder.java