1. 29 Jan, 2019 1 commit
    • Raúl Kripalani's avatar
      introduce adaptive queue for DHT dials. · 5e74c4a6
      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).
      5e74c4a6
  2. 23 Jan, 2019 2 commits
  3. 22 Jan, 2019 3 commits
  4. 09 Jan, 2019 1 commit
    • Gustvo Chain's avatar
      Remove outdated package documentation · 70d5802f
      Gustvo Chain authored
      Both, dht.go and dht_bootstrap.go duplicate the package documentation.
      The whole block had been moved to doc.go
      
      Also query.go provides documentation for query package but now it
      belongs to dht package, so it's been removed.
      70d5802f
  5. 27 Dec, 2018 4 commits
  6. 26 Dec, 2018 2 commits
  7. 18 Dec, 2018 2 commits
  8. 07 Dec, 2018 1 commit
  9. 03 Dec, 2018 2 commits
  10. 15 Nov, 2018 3 commits
  11. 10 Nov, 2018 2 commits
  12. 03 Nov, 2018 2 commits
  13. 02 Nov, 2018 1 commit
  14. 24 Oct, 2018 4 commits
  15. 12 Oct, 2018 1 commit
  16. 10 Oct, 2018 1 commit
  17. 05 Oct, 2018 2 commits
  18. 04 Oct, 2018 2 commits
  19. 24 Sep, 2018 4 commits