We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is your feature request related to a problem? Please describe.
The performance of the Http client can be improved through connection pooling.
Describe the solution you'd like
Connection pooling is easier to implement with a keyed pool, which ZIO 2 does not yet support.
We can build a ZKeyedPool here and upstream to ZIO 2 later:
ZKeyedPool
trait ZKeyedPool[+Error, -Key, Item] { def get(key: Key)(implicit trace: Trace): ZIO[Scope, Error, Item] def invalidate(item: Item)(implicit trace: Trace): UIO[Unit] } object ZKeyedPool { def makeWith[K, R, E, A](get: K => ZIO[R, E, A], total: => Range, maxPerKey: => Int)(implicit trace: Trace): ZKeyedPool[E, K, A] = ??? }
Then we can utilize this connection pool in the implementation of Client to ensure that we have ready-to-use connections to common targets.
Client
Describe alternatives you've considered
None.
The text was updated successfully, but these errors were encountered:
vigoo
Successfully merging a pull request may close this issue.
Is your feature request related to a problem? Please describe.
The performance of the Http client can be improved through connection pooling.
Describe the solution you'd like
Connection pooling is easier to implement with a keyed pool, which ZIO 2 does not yet support.
We can build a
ZKeyedPool
here and upstream to ZIO 2 later:Then we can utilize this connection pool in the implementation of
Client
to ensure that we have ready-to-use connections to common targets.Describe alternatives you've considered
None.
The text was updated successfully, but these errors were encountered: