hyperium / hyperium/hyper

Add total max idle config to Client pool

Open
#2,236 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-client C-feature E-medium
Dominant language
Rust
Stars
16.3k
Forks
1.8k
Avg merge
1d 22h
Merged PRs (30d)
14

Description

There is a desire to be able to put a limit on the maximum size of the connection pool. There is already a pool_max_idle_per_host, but this proposes a max over all hosts.

This is often done with some sort of LRU cache, but we probably don't need one. The pool usually removes a connection handle from the pool while it isn't idle (HTTP/2 is different), so a doubly-linked list or deque is probably sufficient.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing pool_max_idle_per_host configuration and the client pool implementation to understand how idle handles are tracked across hosts. Determine how a total idle limit should interact with HTTP/2, then add coverage showing that the aggregate idle connection count is capped across all hosts.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.