Skip to content

A116: Virtual RPCs proposal#544

Open
siddharthnohria wants to merge 22 commits intogrpc:masterfrom
siddharthnohria:vrpcs
Open

A116: Virtual RPCs proposal#544
siddharthnohria wants to merge 22 commits intogrpc:masterfrom
siddharthnohria:vrpcs

Conversation

@siddharthnohria
Copy link
Copy Markdown

No description provided.

@siddharthnohria siddharthnohria self-assigned this Mar 23, 2026
@siddharthnohria siddharthnohria changed the title [Draft] Virtual RPCs proposal Virtual RPCs proposal Mar 26, 2026
@siddharthnohria siddharthnohria changed the title Virtual RPCs proposal A114: Virtual RPCs proposal Mar 26, 2026
@siddharthnohria siddharthnohria changed the title A114: Virtual RPCs proposal A116: Virtual RPCs proposal Mar 26, 2026
@Vignesh2208 Vignesh2208 self-assigned this Apr 2, 2026
metadata, and an initial payload message. To the client application, this RPC
immediately returns a "Virtual Stub", which the application can then use to send
any virtual RPCs.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please add an example here to demonstrate this

all common application context has been successfully set up, and the server is
ready to accept virtual RPC traffic. Internally, this signal triggers sending
the `server_initial_metadata` from the server to the client.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please add an example here to clarify how the server application is expected to provide an explicit signal to the server session handler

channel_ = grpc:::CreateVirtualChannel(std::move(call));
}

void ClientReactor::OnSessionAcknowledged(bool ok) override {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nit: ClientSessionReactor

virtual call's arena.

This design ensures that:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please include an example of the proposed API changes to ServerContext


// In Virtual RPC Handler: Retrieve the shared application state from the session
auto app_context = context->GetSessionContext<ApplicationContext>();
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

API details LGTM but I do think we need to flesh out what telemetry looks like here as well so we have consistency across the stacks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants