Skip to content

hyper-util: Limit number of connections in Pool #3785

Open
@kuznetsss

Description

@kuznetsss

Is your feature request related to a problem? Please describe.
Connections pool may uncontrollably grow if client connects to many different hosts. There is a related issue in reqwest: seanmonstar/reqwest#2424

Describe the solution you'd like
I can see a few options here:

  • Replace idle: HashMap<Key, Vec<Idle>> by LruCache<Key, Vec<Idle>> in PoolInner
  • Replace idle: HashMap<Key, Vec<Idle>> by LruCache<Key, Idle> in PoolInner

Describe alternatives you've considered
Maybe this problem shouldn't be solved at hyper-util's level and users of the library (or reqwest) should create separate clients for each host (or set of hosts).

Additional context
I'm happy to submit a PR for the issue if the feature would be considered as useful. I already implemented the change in my fork but I'm ok to update it or implement another solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-featureCategory: feature. This is adding a new feature.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions