pub struct TorClientConfigBuilder {Show 15 fields
tor_network: NetworkConfigBuilder,
storage: StorageConfigBuilder,
download_schedule: DownloadScheduleConfigBuilder,
directory_tolerance: DirToleranceBuilder,
override_net_params: HashMap<String, i32>,
bridges: BridgesConfigBuilder,
channel: ChannelConfigBuilder,
system: SystemConfigBuilder,
path_rules: PathConfigBuilder,
preemptive_circuits: PreemptiveCircuitConfigBuilder,
circuit_timing: CircuitTimingBuilder,
address_filter: ClientAddrConfigBuilder,
stream_timeouts: StreamTimeoutConfigBuilder,
vanguards: VanguardConfigBuilder,
path_resolver: PhantomData<CfgPathResolver>,
}
Expand description
Builder for TorClientConfig
.
Fields§
§tor_network: NetworkConfigBuilder
Information about the Tor network we want to connect to.
storage: StorageConfigBuilder
Directories for storing information on disk
download_schedule: DownloadScheduleConfigBuilder
Information about when and how often to download directory information
directory_tolerance: DirToleranceBuilder
Information about how premature or expired our directories are allowed to be.
These options help us tolerate clock skew, and help survive the case where the directory authorities are unable to reach consensus for a while.
override_net_params: HashMap<String, i32>
Facility to override network parameters from the values set in the consensus.
bridges: BridgesConfigBuilder
Information about bridges, pluggable transports, and so on
channel: ChannelConfigBuilder
Information about how to build paths through the network.
system: SystemConfigBuilder
Configuration for system resources used by Arti
Note that there are other settings in this section,
in arti::cfg::SystemConfig
-
these two structs overlay here.
path_rules: PathConfigBuilder
Information about how to build paths through the network.
preemptive_circuits: PreemptiveCircuitConfigBuilder
Information about preemptive circuits.
circuit_timing: CircuitTimingBuilder
Information about how to retry and expire circuits and request for circuits.
address_filter: ClientAddrConfigBuilder
Rules about which addresses the client is willing to connect to.
stream_timeouts: StreamTimeoutConfigBuilder
Information about timing out client requests.
vanguards: VanguardConfigBuilder
Information about vanguards.
path_resolver: PhantomData<CfgPathResolver>
Resolves paths in this configuration.
This is not reconfigurable.
Implementations§
Source§impl TorClientConfigBuilder
impl TorClientConfigBuilder
Sourcepub fn tor_network(&mut self) -> &mut NetworkConfigBuilder
pub fn tor_network(&mut self) -> &mut NetworkConfigBuilder
Information about the Tor network we want to connect to.
Sourcepub fn storage(&mut self) -> &mut StorageConfigBuilder
pub fn storage(&mut self) -> &mut StorageConfigBuilder
Directories for storing information on disk
Sourcepub fn download_schedule(&mut self) -> &mut DownloadScheduleConfigBuilder
pub fn download_schedule(&mut self) -> &mut DownloadScheduleConfigBuilder
Information about when and how often to download directory information
Sourcepub fn directory_tolerance(&mut self) -> &mut DirToleranceBuilder
pub fn directory_tolerance(&mut self) -> &mut DirToleranceBuilder
Information about how premature or expired our directories are allowed to be.
These options help us tolerate clock skew, and help survive the case where the directory authorities are unable to reach consensus for a while.
Sourcepub fn override_net_params(&mut self) -> &mut HashMap<String, i32>
pub fn override_net_params(&mut self) -> &mut HashMap<String, i32>
Facility to override network parameters from the values set in the consensus.
Sourcepub fn bridges(&mut self) -> &mut BridgesConfigBuilder
pub fn bridges(&mut self) -> &mut BridgesConfigBuilder
Information about bridges, pluggable transports, and so on
Sourcepub fn channel(&mut self) -> &mut ChannelConfigBuilder
pub fn channel(&mut self) -> &mut ChannelConfigBuilder
Information about how to build paths through the network.
Sourcepub fn system(&mut self) -> &mut SystemConfigBuilder
pub fn system(&mut self) -> &mut SystemConfigBuilder
Configuration for system resources used by Arti
Note that there are other settings in this section,
in arti::cfg::SystemConfig
-
these two structs overlay here.
Sourcepub fn path_rules(&mut self) -> &mut PathConfigBuilder
pub fn path_rules(&mut self) -> &mut PathConfigBuilder
Information about how to build paths through the network.
Sourcepub fn preemptive_circuits(&mut self) -> &mut PreemptiveCircuitConfigBuilder
pub fn preemptive_circuits(&mut self) -> &mut PreemptiveCircuitConfigBuilder
Information about preemptive circuits.
Sourcepub fn circuit_timing(&mut self) -> &mut CircuitTimingBuilder
pub fn circuit_timing(&mut self) -> &mut CircuitTimingBuilder
Information about how to retry and expire circuits and request for circuits.
Sourcepub fn address_filter(&mut self) -> &mut ClientAddrConfigBuilder
pub fn address_filter(&mut self) -> &mut ClientAddrConfigBuilder
Rules about which addresses the client is willing to connect to.
Sourcepub fn stream_timeouts(&mut self) -> &mut StreamTimeoutConfigBuilder
pub fn stream_timeouts(&mut self) -> &mut StreamTimeoutConfigBuilder
Information about timing out client requests.
Sourcepub fn vanguards(&mut self) -> &mut VanguardConfigBuilder
pub fn vanguards(&mut self) -> &mut VanguardConfigBuilder
Information about vanguards.
Sourcepub fn build(&self) -> Result<TorClientConfig, ConfigBuildError>
pub fn build(&self) -> Result<TorClientConfig, ConfigBuildError>
Sourcefn create_empty() -> Self
fn create_empty() -> Self
Create an empty builder, with all fields set to None
or PhantomData
.
Source§impl TorClientConfigBuilder
impl TorClientConfigBuilder
Sourcepub fn from_directories<P, Q>(state_dir: P, cache_dir: Q) -> Self
pub fn from_directories<P, Q>(state_dir: P, cache_dir: Q) -> Self
Returns a TorClientConfigBuilder
using the specified state and cache directories.
All other configuration options are set to their defaults, except storage.keystore.path
,
which is derived from the specified state directory.
Trait Implementations§
Source§impl Builder for TorClientConfigBuilder
impl Builder for TorClientConfigBuilder
Source§type Built = TorClientConfig
type Built = TorClientConfig
Source§fn build(&self) -> Result<TorClientConfig, ConfigBuildError>
fn build(&self) -> Result<TorClientConfig, ConfigBuildError>
Built
Read moreSource§impl Clone for TorClientConfigBuilder
impl Clone for TorClientConfigBuilder
Source§fn clone(&self) -> TorClientConfigBuilder
fn clone(&self) -> TorClientConfigBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TorClientConfigBuilder
impl Debug for TorClientConfigBuilder
Source§impl Default for TorClientConfigBuilder
impl Default for TorClientConfigBuilder
Source§impl<'de> Deserialize<'de> for TorClientConfigBuilder
impl<'de> Deserialize<'de> for TorClientConfigBuilder
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for TorClientConfigBuilder
impl RefUnwindSafe for TorClientConfigBuilder
impl Send for TorClientConfigBuilder
impl Sync for TorClientConfigBuilder
impl Unpin for TorClientConfigBuilder
impl UnwindSafe for TorClientConfigBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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 T
impl<T> DowncastSync for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.