#[non_exhaustive]
pub struct TorClientConfig { /* private fields */ }
Expand description

A configuration used to bootstrap a TorClient.

In order to connect to the Tor network, Arti needs to know a few well-known directory caches on the network, and the public keys of the network’s directory authorities. It also needs a place on disk to store persistent state and cached directory information. (See StorageConfig for default directories.)

Most users will create a TorClientConfig by running TorClientConfig::default.

If you need to override the locations where Arti stores its information, you can make a TorClientConfig with TorClientConfigBuilder::from_directories.

Finally, you can get fine-grained control over the members of a a TorClientConfig using TorClientConfigBuilder.

Implementations§

source§

impl TorClientConfig

source

pub fn builder() -> TorClientConfigBuilder

Returns a fresh, default, builder

source§

impl TorClientConfig

source

pub fn fs_mistrust(&self) -> &Mistrust

Return a reference to the fs_mistrust::Mistrust object that we’ll use to check permissions on files and directories by default.

Usage notes

In the future, specific files or directories may have stricter or looser permissions checks applied to them than this default. Callers shouldn’t use this Mistrust to predict what Arti will accept for a specific file or directory. Rather, you should use this if you have some file or directory of your own on which you’d like to enforce the same rules as Arti uses.

Trait Implementations§

source§

impl AsRef<[BridgeConfig]> for TorClientConfig

source§

fn as_ref(&self) -> &[BridgeConfig]

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<CircuitTiming> for TorClientConfig

source§

fn as_ref(&self) -> &CircuitTiming

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<FallbackList> for TorClientConfig

source§

fn as_ref(&self) -> &FallbackList

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<PathConfig> for TorClientConfig

source§

fn as_ref(&self) -> &PathConfig

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl AsRef<PreemptiveCircuitConfig> for TorClientConfig

source§

fn as_ref(&self) -> &PreemptiveCircuitConfig

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl CircMgrConfig for TorClientConfig

source§

fn path_rules(&self) -> &PathConfig

Access the field
source§

fn circuit_timing(&self) -> &CircuitTiming

Access the field
source§

fn preemptive_circuits(&self) -> &PreemptiveCircuitConfig

Access the field
source§

impl Clone for TorClientConfig

source§

fn clone(&self) -> TorClientConfig

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TorClientConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TorClientConfig

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl GuardMgrConfig for TorClientConfig

source§

fn bridges_enabled(&self) -> bool

Should the bridges be used? Read more
source§

fn fallbacks(&self) -> &FallbackList

Access the field
source§

fn bridges(&self) -> &[BridgeConfig]

Access the field
source§

impl HsClientConnectorConfig for TorClientConfig

Available on crate feature onion-service-client only.
source§

fn circuit_timing(&self) -> &CircuitTiming

Access the field
source§

impl PartialEq<TorClientConfig> for TorClientConfig

source§

fn eq(&self, other: &TorClientConfig) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl TopLevel for TorClientConfig

§

type Builder = TorClientConfigBuilder

The Builder which can be used to make a Self Read more
source§

const DEPRECATED_KEYS: &'static [&'static str] = _

Deprecated config keys, as “.”-separates strings
source§

impl Eq for TorClientConfig

source§

impl StructuralEq for TorClientConfig

source§

impl StructuralPartialEq for TorClientConfig

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for Twhere T: Any,

§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T, Global>) -> Rc<dyn Any, Global>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T, Global>) -> Arc<dyn Any + Sync + Send, Global>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Resolvable for Twhere T: TopLevel, <T as TopLevel>::Builder: Builder<Built = T>,

source§

fn resolve(input: &mut ResolveContext) -> Result<T, ConfigResolveError>

Deserialize and build from a configuration
source§

fn enumerate_deprecated_keys<NF>(f: &mut NF)where NF: FnMut(&'static [&'static str]),

Return a list of deprecated config keys, as “.”-separated strings
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more