From b385f4fc07bc7c297cf0fac81da40c214df3a4d7 Mon Sep 17 00:00:00 2001 From: tottoto Date: Sun, 14 Jan 2024 14:03:14 +0900 Subject: [PATCH 1/3] refactor(client): remove reference to reference --- src/server/conn/auto.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/server/conn/auto.rs b/src/server/conn/auto.rs index 36610a1..fa5337a 100644 --- a/src/server/conn/auto.rs +++ b/src/server/conn/auto.rs @@ -411,9 +411,7 @@ pub struct Http1Builder<'a, E> { impl Http1Builder<'_, E> { /// Http2 configuration. pub fn http2(&mut self) -> Http2Builder<'_, E> { - Http2Builder { - inner: &mut self.inner, - } + Http2Builder { inner: self.inner } } /// Set whether HTTP/1 connections should support half-closures. @@ -546,9 +544,7 @@ pub struct Http2Builder<'a, E> { impl Http2Builder<'_, E> { /// Http1 configuration. pub fn http1(&mut self) -> Http1Builder<'_, E> { - Http1Builder { - inner: &mut self.inner, - } + Http1Builder { inner: self.inner } } /// Sets the [`SETTINGS_INITIAL_WINDOW_SIZE`][spec] option for HTTP2 From f297f6ba986fe93b152744f62f0a7d46a4773bf1 Mon Sep 17 00:00:00 2001 From: tottoto Date: Sun, 14 Jan 2024 14:04:22 +0900 Subject: [PATCH 2/3] refactor(client): remove unnecessary clone --- src/client/legacy/client.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/legacy/client.rs b/src/client/legacy/client.rs index 25f6f42..7e45244 100644 --- a/src/client/legacy/client.rs +++ b/src/client/legacy/client.rs @@ -633,7 +633,7 @@ where impl Clone for Client { fn clone(&self) -> Client { Client { - config: self.config.clone(), + config: self.config, exec: self.exec.clone(), #[cfg(feature = "http1")] h1_builder: self.h1_builder.clone(), From 77bd362b72b6db65f72c87485862eab53624fde5 Mon Sep 17 00:00:00 2001 From: tottoto Date: Sun, 14 Jan 2024 14:07:37 +0900 Subject: [PATCH 3/3] refactor(client): use some api instead of manual implementaion --- src/client/legacy/client.rs | 2 +- src/client/legacy/connect/http.rs | 4 +--- src/client/legacy/pool.rs | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/client/legacy/client.rs b/src/client/legacy/client.rs index 7e45244..c2f7aaf 100644 --- a/src/client/legacy/client.rs +++ b/src/client/legacy/client.rs @@ -925,7 +925,7 @@ fn set_scheme(uri: &mut Uri, scheme: Scheme) { uri.scheme().is_none(), "set_scheme expects no existing scheme" ); - let old = std::mem::replace(uri, Uri::default()); + let old = std::mem::take(uri); let mut parts: ::http::uri::Parts = old.into(); parts.scheme = Some(scheme); parts.path_and_query = Some("/".parse().expect("slash is a valid path")); diff --git a/src/client/legacy/connect/http.rs b/src/client/legacy/connect/http.rs index b08b6d7..48b391c 100644 --- a/src/client/legacy/connect/http.rs +++ b/src/client/legacy/connect/http.rs @@ -606,9 +606,7 @@ struct ConnectingTcpRemote { impl ConnectingTcpRemote { fn new(addrs: dns::SocketAddrs, connect_timeout: Option) -> Self { - let connect_timeout = connect_timeout - .map(|t| t.checked_div(addrs.len() as u32)) - .flatten(); + let connect_timeout = connect_timeout.and_then(|t| t.checked_div(addrs.len() as u32)); Self { addrs, diff --git a/src/client/legacy/pool.rs b/src/client/legacy/pool.rs index 7b93612..c99b7e7 100644 --- a/src/client/legacy/pool.rs +++ b/src/client/legacy/pool.rs @@ -388,7 +388,7 @@ impl PoolInner { Some(value) => { // borrow-check scope... { - let idle_list = self.idle.entry(key.clone()).or_insert_with(Vec::new); + let idle_list = self.idle.entry(key.clone()).or_default(); if self.max_idle_per_host <= idle_list.len() { trace!("max idle per host for {:?}, dropping connection", key); return;