envoyproxy / envoyproxy/envoy-mobile

Cronvoy: Support for Multi-Network API

Open
#2,280 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
566
Forks
85
PR merge metrics
No merged PRs in 30d

Description

Cronet [has recently been extended with an experimental multi-network API](https://chromium-review.googlesource.com/c/chromium/src/+/3528479). In short, if a Cronet request (or engine) has been explicitly bound to a [Network](https://developer.android.com/reference/android/net/Network), Cronet will send that request only over that network (or report a failure otherwise).

Being an experimental API it is not strictly required, but nevertheless we should start thinking about how this could be implemented in Cronvoy. These are the specific methods that have been added:
* [ExperimentalBidirectionalStream.Builder#bindToNetwork](https://source.chromium.org/chromium/chromium/src/+/main:components/cronet/android/api/src/org/chromium/net/ExperimentalBidirectionalStream.java;l=86-97;drc=443a84982b27396a4b37ccba278360e07a9076c5)
* [ExperimentalCronetEngine#bindToNetwork](https://source.chromium.org/chromium/chromium/src/+/main:components/cronet/android/api/src/org/chromium/net/ExperimentalCronetEngine.java;l=416-424;drc=443a84982b27396a4b37ccba278360e07a9076c5)
* [ExperimentalUrlRequest.Builder#bindToNetwork](https://source.chromium.org/chromium/chromium/src/+/main:components/cronet/android/api/src/org/chromium/net/ExperimentalUrlRequest.java;l=112-123;drc=443a84982b27396a4b37ccba278360e07a9076c5)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.