1. 13 Oct, 2020 1 commit
  2. 07 Sep, 2020 1 commit
  3. 03 Sep, 2020 1 commit
    • rinpatch's avatar
      HTTP: radically simplify pool checkin/checkout · d34fe284
      rinpatch authored
      Use a custom tesla middleware instead of adapter helper function +
      custom redirect middleware.
      
      This will also fix "Client died before releasing the connection"
      messages when the request pool is overloaded. Since the checkout is
      now done after passing ConcurrentLimiter.
      
      This is technically less efficient, since the connection needs to be
      checked in/out every time the middleware is left or entered respectively.
      But I don't think the nanoseconds we might lose on redirects
      to the same host are worth the complexity.
      d34fe284
  4. 18 Jul, 2020 1 commit
  5. 15 Jul, 2020 3 commits
    • rinpatch's avatar
      HTTP: Implement max request limits · 4128e3a8
      rinpatch authored
      4128e3a8
    • rinpatch's avatar
      94c8f3cf
    • rinpatch's avatar
      Refactor gun pooling and simplify adapter option insertion · 58a4f350
      rinpatch authored
      This patch refactors gun pooling to use Elixir process registry and
      simplifies adapter option insertion.
      
      Having the pool use process registry instead of a GenServer has a number of advantages:
      - Simpler code: the initial implementation adds about half the lines of code it deletes
      - Concurrency: unlike a GenServer, ETS-based registry can handle multiple checkout/checkin
      requests at the same time
      - Precise and easy idle connection clousure: current proposal for closing idle connections in
      the GenServer-based pool needs to filter through all connections once a minute and compare their
      last active time with closing time. With Elixir process registry this can be done
      by just using `Process.send_after`/`Process.cancel_timer` in the worker process.
      - Lower memory footprint: In my tests `gun-memory-leak` branch uses about 290mb on peak load (250 connections)
      and 235mb on idle (5-10 connections). Registry-based pool uses 210mb on idle and 240mb on peak load
      58a4f350
  6. 24 Jun, 2020 1 commit
  7. 12 Mar, 2020 1 commit
  8. 05 Mar, 2020 1 commit
  9. 03 Mar, 2020 6 commits
  10. 18 Feb, 2020 1 commit
  11. 12 Jul, 2019 1 commit
  12. 30 May, 2019 1 commit
  13. 08 Mar, 2019 2 commits
  14. 04 Mar, 2019 1 commit
  15. 15 Jan, 2019 1 commit
  16. 01 Jan, 2019 1 commit
  17. 31 Dec, 2018 1 commit
  18. 29 Dec, 2018 1 commit
  19. 23 Dec, 2018 1 commit
  20. 04 Dec, 2018 4 commits
  21. 26 Oct, 2018 2 commits
  22. 24 Aug, 2018 1 commit
    • kaniini's avatar
      http: fix TLS server name indication · 290798b8
      kaniini authored
      by default, hackney only sent TLS server name indication if TLS was locked
      to TLS 1.2.
      
      since there are many instances out there not speaking TLS 1.2, it is not
      acceptable to lock SNI to TLS 1.2.
      
      closes #261
      290798b8
  23. 30 Mar, 2018 1 commit
  24. 29 Jan, 2018 1 commit
  25. 30 Dec, 2017 1 commit