Skip to content

Commit 9123f68

Browse files
authored
chore: Remove redundant helper constructor (#1534)
* chore: Remove redundant helper constructor * chore: Refactor endpoint to construct connector
1 parent 7562600 commit 9123f68

File tree

4 files changed

+17
-39
lines changed

4 files changed

+17
-39
lines changed

tonic/src/transport/channel/endpoint.rs

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -301,18 +301,24 @@ impl Endpoint {
301301
self
302302
}
303303

304+
pub(crate) fn connector<C>(&self, c: C) -> service::Connector<C> {
305+
#[cfg(feature = "tls")]
306+
let connector = service::Connector::new(c, self.tls.clone());
307+
308+
#[cfg(not(feature = "tls"))]
309+
let connector = service::Connector::new(c);
310+
311+
connector
312+
}
313+
304314
/// Create a channel from this config.
305315
pub async fn connect(&self) -> Result<Channel, Error> {
306316
let mut http = hyper::client::connect::HttpConnector::new();
307317
http.enforce_http(false);
308318
http.set_nodelay(self.tcp_nodelay);
309319
http.set_keepalive(self.tcp_keepalive);
310320

311-
#[cfg(feature = "tls")]
312-
let connector = service::connector(http, self.tls.clone());
313-
314-
#[cfg(not(feature = "tls"))]
315-
let connector = service::connector(http);
321+
let connector = self.connector(http);
316322

317323
if let Some(connect_timeout) = self.connect_timeout {
318324
let mut connector = hyper_timeout::TimeoutConnector::new(connector);
@@ -333,11 +339,7 @@ impl Endpoint {
333339
http.set_nodelay(self.tcp_nodelay);
334340
http.set_keepalive(self.tcp_keepalive);
335341

336-
#[cfg(feature = "tls")]
337-
let connector = service::connector(http, self.tls.clone());
338-
339-
#[cfg(not(feature = "tls"))]
340-
let connector = service::connector(http);
342+
let connector = self.connector(http);
341343

342344
if let Some(connect_timeout) = self.connect_timeout {
343345
let mut connector = hyper_timeout::TimeoutConnector::new(connector);
@@ -362,11 +364,7 @@ impl Endpoint {
362364
C::Future: Send + 'static,
363365
crate::Error: From<C::Error> + Send + 'static,
364366
{
365-
#[cfg(feature = "tls")]
366-
let connector = service::connector(connector, self.tls.clone());
367-
368-
#[cfg(not(feature = "tls"))]
369-
let connector = service::connector(connector);
367+
let connector = self.connector(connector);
370368

371369
if let Some(connect_timeout) = self.connect_timeout {
372370
let mut connector = hyper_timeout::TimeoutConnector::new(connector);
@@ -391,12 +389,7 @@ impl Endpoint {
391389
C::Future: Send + 'static,
392390
crate::Error: From<C::Error> + Send + 'static,
393391
{
394-
#[cfg(feature = "tls")]
395-
let connector = service::connector(connector, self.tls.clone());
396-
397-
#[cfg(not(feature = "tls"))]
398-
let connector = service::connector(connector);
399-
392+
let connector = self.connector(connector);
400393
Channel::new(connector, self.clone())
401394
}
402395

tonic/src/transport/service/connector.rs

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,6 @@ use std::task::{Context, Poll};
88
use tower::make::MakeConnection;
99
use tower_service::Service;
1010

11-
#[cfg(not(feature = "tls"))]
12-
pub(crate) fn connector<C>(inner: C) -> Connector<C> {
13-
Connector::new(inner)
14-
}
15-
16-
#[cfg(feature = "tls")]
17-
pub(crate) fn connector<C>(inner: C, tls: Option<TlsConnector>) -> Connector<C> {
18-
Connector::new(inner, tls)
19-
}
20-
2111
pub(crate) struct Connector<C> {
2212
inner: C,
2313
#[cfg(feature = "tls")]
@@ -34,7 +24,7 @@ impl<C> Connector<C> {
3424
}
3525

3626
#[cfg(feature = "tls")]
37-
fn new(inner: C, tls: Option<TlsConnector>) -> Self {
27+
pub(crate) fn new(inner: C, tls: Option<TlsConnector>) -> Self {
3828
Self { inner, tls }
3929
}
4030

tonic/src/transport/service/discover.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use super::super::service;
21
use super::connection::Connection;
32
use crate::transport::Endpoint;
43

@@ -38,12 +37,8 @@ impl<K: Hash + Eq + Clone> Stream for DynamicServiceStream<K> {
3837
http.set_keepalive(endpoint.tcp_keepalive);
3938
http.set_connect_timeout(endpoint.connect_timeout);
4039
http.enforce_http(false);
41-
#[cfg(feature = "tls")]
42-
let connector = service::connector(http, endpoint.tls.clone());
4340

44-
#[cfg(not(feature = "tls"))]
45-
let connector = service::connector(http);
46-
let connection = Connection::lazy(connector, endpoint);
41+
let connection = Connection::lazy(endpoint.connector(http), endpoint);
4742
let change = Ok(Change::Insert(k, connection));
4843
Poll::Ready(Some(change))
4944
}

tonic/src/transport/service/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ mod user_agent;
1313

1414
pub(crate) use self::add_origin::AddOrigin;
1515
pub(crate) use self::connection::Connection;
16-
pub(crate) use self::connector::connector;
16+
pub(crate) use self::connector::Connector;
1717
pub(crate) use self::discover::DynamicServiceStream;
1818
pub(crate) use self::executor::SharedExec;
1919
pub(crate) use self::grpc_timeout::GrpcTimeout;

0 commit comments

Comments
 (0)