类 Dispatcher

java.lang.Object
com.lark.oapi.okhttp.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.

  • 构造器详细资料

    • Dispatcher

      public Dispatcher(ExecutorService executorService)
    • Dispatcher

      public Dispatcher()
  • 方法详细资料

    • executorService

      public ExecutorService executorService()
    • getMaxRequests

      public int getMaxRequests()
    • 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.

    • getMaxRequestsPerHost

      public int getMaxRequestsPerHost()
    • 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.

      WebSocket connections to hosts do not count against this limit.

    • setIdleCallback

      public void setIdleCallback(@Nullable Runnable idleCallback)
      Set a callback to be invoked each time the dispatcher becomes idle (when the number of running calls returns to zero).

      Note: The time at which a call is considered idle is different depending on whether it was run asynchronously or synchronously. Asynchronous calls become idle after the onResponse or onFailure callback has returned. Synchronous calls become idle once execute() returns. This means that if you are doing synchronous calls the network layer will not truly be idle until every returned Response has been closed.

    • 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()