xref: /aosp_15_r20/external/cronet/README.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker## Cronet (HttpEngine)
2*6777b538SAndroid Build Coastguard Worker
3*6777b538SAndroid Build Coastguard WorkerCronet is Chrome's networking stack packaged into a client networking library for Android. It significantly improves performance thanks to highly optimized code and support of modern protocols like QUIC and HTTP/3.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard WorkerCronet is imported through copybara from Chromium. Please do not submit any changes to this repoistory or touch the Android.bp as they are auto-generated. Contact cronet-team@ for more information
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Worker## Repository Layout
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard WorkerSee [go/cronet-structure-in-aosp](go/cronet-structure-in-aosp) for more additional details
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Worker#### AOSP-only
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Worker[android/](https://cs.android.com/android/platform/superproject/main/+/main:external/cronet/android/) only exists in AOSP and is not imported from Chromium. This contains tools and code that is usually developed in AOSP and is not related to Chromium (eg: HttpEngine API).
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard Worker#### Third-party code
16*6777b538SAndroid Build Coastguard Worker
17*6777b538SAndroid Build Coastguard WorkerThis include the [top-level third_party/](https://cs.android.com/android/platform/superproject/main/+/main:external/cronet/third_party/). It's important to note that there are some third-party code that lives under first-party code (eg: [QUICHE](https://cs.android.com/android/platform/superproject/main/+/main:external/cronet/net/third_party/quiche/) which lives under net/third_party). Those should be moved to the top-level third_party directory at some point but we will only do so once chromium has done that.
18*6777b538SAndroid Build Coastguard Worker
19*6777b538SAndroid Build Coastguard Worker
20*6777b538SAndroid Build Coastguard Worker#### Rust Third-party code
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard WorkerWe follow the same structure which Rust follows in AOSP where the crates live under [third_party/rust/chromium_crates_io/vendor](https://source.chromium.org/chromium/chromium/src/+/main:third_party/rust/chromium_crates_io/vendor/;l=1) but the BUILD.gn which defines the build target lives under third_party/rust/{library_name} (eg: [aho-corasick](https://source.chromium.org/chromium/chromium/src/+/main:third_party/rust/aho_corasick/)). For more information, see the [README.md](https://source.chromium.org/chromium/chromium/src/+/main:third_party/rust/README.md) in Chromium for Rust crates.
23