- 28 Feb, 2020 1 commit
-
-
Steven Allen authored
-
- 26 May, 2019 1 commit
-
-
Raúl Kripalani authored
-
- 27 Mar, 2019 1 commit
-
-
Steven Allen authored
Don't start the control loop till we start the queue. The _in_ queue will still work, we just won't start processing peers from it until we start the control loop. fixes #311
-
- 14 Mar, 2019 1 commit
-
-
Matt Joiner authored
-
- 13 Mar, 2019 2 commits
-
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
- 27 Feb, 2019 1 commit
-
-
Steven Allen authored
fixes #276
-
- 19 Feb, 2019 2 commits
-
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
- 03 Feb, 2019 1 commit
-
-
Matt Joiner authored
-
- 01 Feb, 2019 2 commits
-
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
- 31 Jan, 2019 1 commit
-
-
Matt Joiner authored
-
- 30 Jan, 2019 1 commit
-
-
Raúl Kripalani authored
-
- 29 Jan, 2019 9 commits
-
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
-
Raúl Kripalani authored
This patch introduces an adaptive dial queue that spawns a dynamically sized set of goroutines to preemptively stage dials for later handoff to the DHT protocol for RPC. It identifies backpressure on both ends (dial consumers and dial producers), and takes compensating action by adjusting the worker pool. We start with `DialQueueMinParallelism` number of workers (6), and scale up and down based on demand and supply of dialled peers. The following events trigger scaling: - we scale up when we can't immediately return a successful dial to a new consumer. - we scale down when we've been idle for a while waiting for new dial attempts. - we scale down when we complete a dial and realise nobody was waiting for it. Dialler throttling (e.g. FD limit exceeded) is a concern, as we can easily spin up more workers to compensate, and end up adding fuel to the fire. Since we have no deterministic way to detect this for now, we hard-limit concurrency to `DialQueueMaxParallelism` (20).
-