Skip to content
This repository has been archived by the owner on Mar 29, 2024. It is now read-only.

Support build client from tonic::transport::Channel #84

Merged
merged 1 commit into from
Mar 14, 2023
Merged

Support build client from tonic::transport::Channel #84

merged 1 commit into from
Mar 14, 2023

Conversation

zkonge
Copy link
Contributor

@zkonge zkonge commented Mar 13, 2023

Provides the ability for users to control the basic connection.

The original requirement is that I need to pass the raw rustls connector to tonic. Obviously, the current API can't.

So I think exposing the channel API would be a great solution. Users could change HTTP2 parameters and even solve #73 #80 #76. Because users can handle them just by adding layers to the tonic::transport::Channel.

Checked by cargo-semver-checks, and it doesn't break the semver.


Update: It seems that only expose channel can't work with balance_list very well. Trying to find a better solution.

Currently, etcd-rs uses tonic::transport, a high abstraction module. It is not possible to allow users to use the balancer through their own connector. Rewrite entry with tower service could solve this, but it's a very big change.

@zarvd
Copy link
Owner

zarvd commented Mar 14, 2023

LGTM. Thanks!

@zarvd zarvd merged commit d9e45d7 into zarvd:master Mar 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants