From 7ff16fc252c0121f660709a0dda9639eb7131d34 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 19 Jan 2022 15:57:17 +0000 Subject: [PATCH] connection preferences: Provide `clone_with_prefs` method --- crates/arti-client/src/client.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/crates/arti-client/src/client.rs b/crates/arti-client/src/client.rs index 19821ebd5..a12473934 100644 --- a/crates/arti-client/src/client.rs +++ b/crates/arti-client/src/client.rs @@ -454,6 +454,16 @@ impl TorClient { self.connect_prefs = connect_prefs; } + /// Provides a new handle on this client, but with adjusted default preferences. + /// + /// Connections made with e.g. [`connect`](TorClient::connect) on the returned handle will use + /// `connect_prefs`. This is a convenience wrapper for `clone` and `set_connect_prefs`. + pub fn clone_with_prefs(&self, connect_prefs: ConnectPrefs) -> Self { + let mut result = self.clone(); + result.set_connect_prefs(connect_prefs); + result + } + /// On success, return a list of IP addresses. pub async fn resolve(&self, hostname: &str) -> Result> { self.resolve_with_prefs(hostname, &self.connect_prefs).await