googleapis / googleapis/google-cloud-cpp

C++ coroutines support

Open
#16,060 1 comment 0 reactions 0 assignees View on GitHub
type: feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.