Implement TCP primitives in the net standard library#324
Merged
filiptibell merged 14 commits intomainfrom Jul 7, 2025
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds raw TCP networking primitives to the
netstandard library, building on top of the newasync-*infrastructure and networking stack introduced in #310 and subsequent commits.This will open up a whole lot of previously blocked use cases, most importantly integrations with databases (Postgres, MySQL, Redis, ...) that all use plain TCP (with optional TLS) for communication.
Some additional details for anyone interested:
rustls, just likenet.requestandnet.socketalready donet.tcp.connectis the way to access this new constructor.We have also added
net.httpwith aliases to the existing functions likenet.http.requestfor symmetry. The point of this is to avoid ambiguity between the increasing number of functions innet, and be able to more easily addnet.udpand similar APIs in the near term future.@lune/dbfor native Postgres/Redis integration for better user experience, similar to how Bun and other modern runtimes for other languages do.