Skip to content

grpc-protobuf: move client exports to a submodule - #2817

Open
arjan-bal wants to merge 4 commits into
grpc:masterfrom
arjan-bal:organize-protobuf-client-exports
Open

grpc-protobuf: move client exports to a submodule #2817
arjan-bal wants to merge 4 commits into
grpc:masterfrom
arjan-bal:organize-protobuf-client-exports

Conversation

@arjan-bal

Copy link
Copy Markdown
Contributor

Why

If both client and server symbols are exported directly from the crate root, it can lead to name collisions. Client symbols must now be imported from grpc_protobuf::client and server symbols will be exported from grpc_protobuf::server.

@arjan-bal
arjan-bal force-pushed the organize-protobuf-client-exports branch from e143e75 to 131f2f7 Compare August 19, 2026 11:08
Comment thread grpc-protobuf/src/lib.rs Outdated
Comment on lines 33 to 34
//! There are four basic RPC (Remote Procedure Call) types and a corresponding
//! call builder for each.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is all assuming client-side stuff only and will want to be rewritten at least when we add the server symbols, or now if you want to do it. We can either document all the client and server stuff together in here, or we can move this into the client module and leave something else useful behind for the top level.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Moved the docs to the client module and added a Modules section in its place, similar to the grpc crate.

@arjan-bal
arjan-bal requested a review from dfawley August 19, 2026 18:40

@dfawley dfawley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just a couple tiny nits otherwise LGTM

*
*/

//! Types and call builders for client-side RPCs.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Super-nit: there isn't really a thing that is a "client-side RPC". I'd probably do:

//! Client-side types and call builders for RPCs (Remote Procedure Calls).

//!
//! # Basic usage
//!
//! There are four basic RPC (Remote Procedure Call) types and a corresponding

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Nit: move the definition of the term to the first use.

Comment thread grpc-protobuf/src/lib.rs
//! the call. Each one also provides an [`IntoFuture`] implementation to
//! actually begin the call. See the documentation for each type for additional
//! usage information.
//! * [`client`] - Types and call builders for client-side RPCs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same nit here: Client-side types and call builders for RPCs.

@dfawley dfawley assigned arjan-bal and unassigned dfawley Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants