Skip to content

Conversation

shankeleven
Copy link
Contributor

@shankeleven shankeleven commented Aug 9, 2025

Added Support for gRPC CallbackService

gRPC supports two flavors of asynchronous callbacks -- from their documentation:

https://grpc.io/docs/languages/cpp/callback/

gRPC C++ offers two kinds of APIs: sync APIs and async APIs. More specifically, we have two kinds of async APIs: the old one > is completion-queue based; the new one is callback-based, which is easier to use.
Since we want to implement the service using the callback APIs, the service interface we should implement is
RouteGuide::CallbackService.

Checklist

  • --grpc-callback-api flag plumbed into flatc.
  • Macros (GRPC_CALLBACK_API_NONEXPERIMENTAL + FLATBUFFERS_GENERATED_GRPC_CALLBACK_API) gate code.
  • Compile-only tests for server & client callback APIs pass (ensuring symbols exist).
  • Generated server CallbackService with reactor methods.
  • Generated client Stub with async_ unary (callback + reactor) and streaming reactor entry points.

@github-actions github-actions bot added c++ codegen Involving generating code from schema documentation Documentation grpc python labels Aug 9, 2025
@shankeleven shankeleven changed the title callbackService support added gRPC callbackService support added Aug 9, 2025
@shankeleven
Copy link
Contributor Author

@dbaileychess @mustiikhalil @aardappel could you guys please review this , if there are any changes required , I'd be happy to make them

Copy link
Collaborator

@aardappel aardappel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good!

@shankeleven shankeleven force-pushed the grpc_callbackservice branch 3 times, most recently from 08398d8 to 7aa060d Compare August 11, 2025 02:11
aardappel
aardappel previously approved these changes Aug 11, 2025
@shankeleven shankeleven force-pushed the grpc_callbackservice branch from 37c3981 to c0232ab Compare August 17, 2025 20:04
@shankeleven
Copy link
Contributor Author

there were some issues wiht the CI buildkite, so had to make some minor changes, nothing substantial
@aardappel sorry to bother for re-approval

aardappel
aardappel previously approved these changes Aug 18, 2025
@aardappel
Copy link
Collaborator

Some of the CI errors definitely relates to this PR: https://github.com/google/flatbuffers/actions/runs/17030064051/job/48271145482?pr=8666

…ervice & async_ reactor APIs); update formatting and method placement
@aardappel aardappel enabled auto-merge (squash) August 23, 2025 16:51
@shankeleven
Copy link
Contributor Author

this buildkite check has not been triggered ig

@aardappel aardappel disabled auto-merge August 28, 2025 22:49
@aardappel aardappel merged commit deb3d93 into google:master Aug 28, 2025
50 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ codegen Involving generating code from schema documentation Documentation grpc python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants