DockerDaemonDispatcher
Dispatches DockerDaemon instances to Runner instances for Docker operations.
Types
Namespace containing methods verifying the state of DockerDaemonDispatcher.
Properties
List of all available Docker daemons.
Number of retries for waitConnection until the method will throw an exception.
Base wait time for waitConnection when a connection cannot be established.
Mutex for guarding availableDaemons read/write operations.
Whether a dispatch operation is currently progress.
Shortcut for obtaining the DockerContext.RequestedSystemResources of a Runner.
Shortcut for obtaining the DockerContext.ResourceReservation of a Runner.
Base wait time for findAvailableDaemon when a daemon cannot be found.
Maximum exponent which the backoff algorithm will increment to.
Mapping of all managed runners to its internal state.
Mutex for guarding reserveQueue read/write operations.
Frequency of reserve queue dispatch task.
Reserve queue for runners awaiting dispatch to a Docker daemon.
Time of latest reserve queue dispatch task.
Whether to enable trace logging when any Mutex is acquired or released via withLoggingLock.
Functions
Adds a daemon to the list of available DockerDaemon for dispatch.
Binds a DockerDaemon to a Runner instance.
Finds an available daemon which can serve a runner with the given resource limit.
Returns the DockerDaemon allocated to a Runner instance.
Helper method to get the DockerDaemon instance bound to a Runner, and check that the DockerDaemon is still connected to the Docker engine.
Returns a DockerDaemon allocated to a Runner instance, blocking until a daemon is bound to the runner instance.
Retrieves an unbounded daemon.
Removes a daemon from the list of available DockerDaemon for dispatch.
Attempts to allocate a daemon to the runner, and returns the DockerDaemon if one is allocated.
Traverses through the reserveQueue, and sequentially binds runners to a Docker daemon if possible.
Unbinds a DockerDaemon from a Runner instance.
Internal implementation for unbinding a DockerDaemon from a Runner instance.
Unbinds a runner from its daemon, provided that DAEMON_RW_MUTEX is locked by the caller of this method.
Waits for the daemon to be connected.