-
Notifications
You must be signed in to change notification settings - Fork 4
Description
As always, it would be beneficial to upstream some of the patches to reduce churn on new versions.
Altough I'm seeing some big patches that make structural changes to cronet part. In principle this creates big maintenance burden for the future. I don't know if these changes are necessary or it is so just because the API additions have not matured? (Example: the old code for using NetworkIsolationKey klzgrad/naiveproxy@87b03cd was designed for minimizing patch size and API exposure (smuggling parameters via HTTP headers), but the new code SagerNet/naiveproxy@7ed3537 has wide patch surface and may be hard to maintain in the future.)
I'm also seeing a possible future that this outbound can be upgraded to something that is not so naive, which you have translated in naive_conn.go. There has been some attempts to add more sophisticated traffic shaping and behaviors in C++, which has been been taking more time than desired. It's possible these behaviors are easier to implement in Go, if the Cronet API proves to be capable enough to handle the needed changes for these behaviors.