-
Notifications
You must be signed in to change notification settings - Fork 38
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 Socket and refactor connection caching #86
Conversation
🔥🐝 Lightbug is listening on http://0.0.0.0:8080 Benchmark resultsname , met (ms) , iters , min (ms) , mean (ms) , max (ms) , duration (ms) |
Wow a pretty incredible effort here, looks pretty good but I didn't have time to take a super close look. Relating to your comment on logging, I think parameterizing the log level is a good idea that way we can avoid a lot of unnecessary branching. |
The logger struct has been parametrized using params passed in at compilation time, seems to be working well! The branching can be handled during the compilation step now |
Socket
stuct to encapsulate a File Descriptor which is operating as a socket.NoTLSListener
andSysConnection
to useSocket
, as well as updating downstream functions to account for the fact thatSocket
is only movable and not copyable.resolve_internet_address
, we don't support UDP or Unix Addrs so it's not needed.HostPort
, it was a vestige from tuples not working.OwningList
andPoolManager
structs to rework connection caching in the client. Previously it made use of copying connections, which no longer works. This required creating new structs to manage objects which need to be transferred often.allow_redirects
attribute to the client, it should optionally follow redirects.\n
but it skips\r\n
. It does not handle\n
any differently than other bytes.I'm figuring out why the fastapi server doesn't work in the ci job, works locally. Will fix soon.
Also, I'm interested in hearing any thoughts on how we can handle the logging. It would be nice to give the option to the user to choose the logger level at compile time? Perhaps the logger can be parametrized on log level, and we get the value from the mojo build/run args.