hyperium / tonic

A native gRPC client & server implementation with async/await support.
https://docs.rs/tonic
MIT License
9.46k stars 971 forks source link

Keep TLS transport items together in a single module #1778

Open djc opened 2 weeks ago

djc commented 2 weeks ago

Counterproposal to #1763.

tottoto commented 2 weeks ago

The modules are already nicely separated correspoinding to their roles, this change feels like it breaks that.

djc commented 2 weeks ago

The modules are already nicely separated correspoinding to their roles, this change feels like it breaks that.

What's the difference in role between transport::service::tls and transport::tls? Having those separate doesn't really make sense to me either conceptually or in terms of complexity (both are very small modules, so having them in separate files just makes you have to bounce between modules to make sense of what's going on).

tottoto commented 2 weeks ago

transport::service::tls module is the utilities used by the channel and server service modules and transport::tls is used by the transport wide implementations related to tls.