Skip to content
New issue

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

Introduce higher-level "network client" APIs #3419

Open
armanbilge opened this issue Apr 1, 2024 · 1 comment
Open

Introduce higher-level "network client" APIs #3419

armanbilge opened this issue Apr 1, 2024 · 1 comment
Labels

Comments

@armanbilge
Copy link
Member

armanbilge commented Apr 1, 2024

FS2's Network APIs are frequently used to build clients such as Ember (HTTP client) and Skunk (Postgres client). These implementations build on top of the "low-level" Socket APIs and introduce higher-level concepts such as persistent, pooled connections. Currently there is both duplicated code and duplicated (and also unique!) bugs across Ember and Skunk and probably other client libraries in our ecosystem.

I propose that we introduce to FS2 a new set of high-level APIs that formalize "Connection" and help handle its lifecycle within a configurable pool. The goal would be that this abstraction is something that Ember, Skunk, and other client libraries could build on top of.

@mpilquist
Copy link
Member

I created a temporary repository to experiment with the API here: https://github.com/typelevel/fs2-cnxs

If successful, we'd move everything directly in to fs2-io.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants