googleapis / googleapis/google-cloud-cpp
C++ coroutines support
- Dominant language
- C++
- Stars
- 659
- Forks
- 463
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 89
Description
I would like to propose the integration of native C++20 coroutine support into the google-cloud-cpp client libraries, with a particular focus on Google Cloud Storage (GCS).
While the current asynchronous API is functional, the addition of first-class coroutine support (e.g., ``Task`` or ``Awaitable`` types) would significantly improve code readability and maintainability for modern C++ backends. Furthermore, providing low-level networking primitives—similar to the models found in ``boost::asio`` or the Networking TS—would allow developers to integrate GCS operations into their own custom execution contexts and coroutine frameworks.
Contributor guide
Research direction
No files, tests, or entry points are named. Start by reviewing the existing asynchronous API for the Google Cloud Storage client, then compare its execution model with C++20 coroutines and the boost::asio or Networking TS approaches mentioned. Done would require an agreed design and implementation of coroutine support plus the proposed low-level networking primitives.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100