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
transport: native sockets on iOS/Android #13
Comments
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
Current proposal:
|
Potentially related, here are some key announcements Apple made regarding networking at WWDC earlier this month: https://github.com/Blackjacx/WWDC#advances-in-networking-part-1 (parts 1 and 2) |
You'll definitely want to use |
an even simpler test: iirc, BSD sockets don't handle cellular/wifi transitions, but Open Transport and |
For watchers the main work items here are:
This should be pretty straightforward given existing Envoy extensibility mechanisms. |
Detailed write-up of the current state of the transport layer issues on iOS in this comment: #128 (comment) |
Current proposal doc. |
Related: #541 |
https://docs.google.com/document/d/16jq5YO542BbAnBGwldgPfaJel9H3K6ufWD7Lqvrx0Bg/edit?usp=sharing The above doc captures the current state of the world with copious linked references and examples. In brief, our current usage of POSIX sockets on both platforms, with our current workarounds, presents no serious general-case issues. There are some somewhat niche cases (e.g. on-demand VPN on iOS) which could be better addressed. In the medium term, implementing socket providers using the newer platform APIs would yield some incremental benefit, but more importantly, help to future-proof the library. |
While there are no general issues, Multipath TCP could yield pretty significant gains:
(It might even be more pronounced for Lyft because users are leaving/entering WiFi range all the time) |
Using native sockets on iOS/Android is the recommended approach for performing low-level networking. We should investigate:
The text was updated successfully, but these errors were encountered: