/// Location on disk where we store persistent data containing both location and Mistrust information.
/// return an error that has kind [`ErrorKind::BootstrapRequired`](crate::ErrorKind::BootstrapRequired).
.expect("TorClient could not get an asynchronous runtime; are you running in the right context?");
.expect("TorClient could not get an asynchronous runtime; are you running in the right context?");
/// Bootstrap a connection to the Tor network, with a client created by `create_unbootstrapped`.
// Grab the lock, and immediately release it. That will ensure that nobody else is trying to bootstrap.
/// let socket = tor_client.connect((ipaddr, 443).into_tor_addr_dangerously().unwrap()).await?;
/// answer, and then wait for them to give you [`StreamRequest`](tor_hsservice::StreamRequest)s.
/// answer, and then wait for them to give you [`StreamRequest`](tor_hsservice::StreamRequest)s.
/// The `selector` argument is used for choosing the keystore in which to generate the keypair.
/// The `selector` argument is used for choosing the keystore in which to generate the keypair.
/// The `selector` argument is used for choosing the keystore in which to generate the keypair.
/// Returns `Ok(None)` if no such keypair exists whereas `Ok(Some()) means the keypair was successfully removed.
#[cfg(feature = "bridge-client")] bridge_desc_mgr: Arc<Mutex<Option<Arc<BridgeDescMgr<R>>>>>,