okhttp / okhttp3 / Dispatcher

Dispatcher

class Dispatcher

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.

Constructors

<init>

Dispatcher(executorService: ExecutorService)Dispatcher()

Policy on when async requests are executed.

Properties

executorService

val executorService: ExecutorService

idleCallback

var idleCallback: Runnable?

A callback to be invoked each time the dispatcher becomes idle (when the number of running calls returns to zero).

maxRequests

var maxRequests: Int

The maximum number of requests to execute concurrently. Above this requests queue in memory, waiting for the running calls to complete.

maxRequestsPerHost

var maxRequestsPerHost: Int

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.

Functions

cancelAll

fun cancelAll(): Unit

Cancel all calls currently enqueued or executing. Includes calls executed both synchronously and asynchronously.

queuedCalls

fun queuedCalls(): List<Call>

Returns a snapshot of the calls currently awaiting execution.

queuedCallsCount

fun queuedCallsCount(): Int

runningCalls

fun runningCalls(): List<Call>

Returns a snapshot of the calls currently being executed.

runningCallsCount

fun runningCallsCount(): Int