Dear grpc users,
1. The C++ API will no longer leak gRPC core surface API or C++ library implementation details: all C++ API methods can be called using idiomatic C++ parameters and return values.
2. The C++ API will clearly demarcate functions/classes for internal use versus public use. Although this was started previously, it is now being done comprehensively. When possible, this will continue to use namespace grpc::internal; otherwise, it will simply involve adding an appropriate comment to the API
3. Likewise, API methods that are no longer the preferred choice for public use will be marked deprecated in comments
4. None of these changes is intended to break any C++ application code; we are being very careful not to remove/privatize/internalize any API methods that are documented for and in use by external code.
Please discuss the ideas here, and I'll update the proposal with any feedback.
Thanks and best regards,