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