1.4 KiB
Title
- Author(s): ctiller
- Approver: wenbozhu
- Status: Draft
- Implemented in: C++, Objective-C
- Last updated: [Date]
- Discussion at: (filled after thread exists)
Abstract
Remove the Cronet transport from gRPC core (and consequently the Objective-C bindings to it).
Background
gRPC C++, Objective-C can use Cronet on iOS as an alternative HTTP/2 stack. The Cronet library itself has been deprecated on iOS since September 2023, and so instead of maintaining this code we're opting to remove it.
Proposal
Remove the Cronet transport, and related APIs in core and Objective-C:
grpc_cronet_secure_channel_create, and the containing headergrpc_cronet.hCronetChannelCredentialsin the C++ APIGRPCCall+Cronet.{h,mm},GRPCCronetChannelFactory.{h,mm}and all API thereingGRPCCoreCronetID
Rationale
The Cronet team no longer maintains this code, so any bugs are going to be up to the gRPC team to fix, and gRPC does not have the expertise to maintain this stack. In addition, gRPC C++ team is currently revamping our transport interfaces, and this transport will either need to be rewritten or removed - and rewriting atop a deprecated engine does not seem to be the right way forward.
Implementation
A single PR will be submitted to remove the bulk of the transport. Follow-ups may be submitted to garbage collect missed pieces later.