Class Dispatcher



  • public final class Dispatcher
    extends Object
    Policy on when async requests are executed.

    Each dispatcher uses an ExecutorService to run calls internally. If you supply your own executor, it should be able to run the configured maximum number of calls concurrently.

    • Constructor Detail

      • Dispatcher

        public Dispatcher()
    • Method Detail

      • setMaxRequests

        public void setMaxRequests(int maxRequests)
        Set the maximum number of requests to execute concurrently. Above this requests queue in memory, waiting for the running calls to complete.

        If more than maxRequests requests are in flight when this is invoked, those requests will remain in flight.

      • getMaxRequests

        public int getMaxRequests()
      • setMaxRequestsPerHost

        public void setMaxRequestsPerHost(int maxRequestsPerHost)
        Set the maximum number of requests for each host to execute concurrently. This limits requests by the URL's host name. Note that concurrent requests to a single IP address may still exceed this limit: multiple hostnames may share an IP address or be routed through the same HTTP proxy.

        If more than maxRequestsPerHost requests are in flight when this is invoked, those requests will remain in flight.

      • getMaxRequestsPerHost

        public int getMaxRequestsPerHost()
      • cancelAll

        public void cancelAll()
        Cancel all calls currently enqueued or executing. Includes calls executed both synchronously and asynchronously.
      • queuedCalls

        public List<Call> queuedCalls()
        Returns a snapshot of the calls currently awaiting execution.
      • runningCalls

        public List<Call> runningCalls()
        Returns a snapshot of the calls currently being executed.
      • queuedCallsCount

        public int queuedCallsCount()
      • runningCallsCount

        public int runningCallsCount()