Struct arti_client::config::circ::PreemptiveCircuitConfigBuilder
source · [−]pub struct PreemptiveCircuitConfigBuilder { /* private fields */ }
Expand description
Builder for PreemptiveCircuitConfig
.
Implementations
sourceimpl PreemptiveCircuitConfigBuilder
impl PreemptiveCircuitConfigBuilder
sourcepub fn disable_at_threshold(
&mut self,
value: usize
) -> &mut PreemptiveCircuitConfigBuilder
pub fn disable_at_threshold(
&mut self,
value: usize
) -> &mut PreemptiveCircuitConfigBuilder
If we have at least this many available circuits, we suspend construction of preemptive circuits. whether our available circuits support our predicted exit ports or not.
sourcepub fn prediction_lifetime(
&mut self,
value: Duration
) -> &mut PreemptiveCircuitConfigBuilder
pub fn prediction_lifetime(
&mut self,
value: Duration
) -> &mut PreemptiveCircuitConfigBuilder
After we see the client request a connection to a new port, how long should we predict that the client will still want to have circuits available for that port?
sourcepub fn min_exit_circs_for_port(
&mut self,
value: usize
) -> &mut PreemptiveCircuitConfigBuilder
pub fn min_exit_circs_for_port(
&mut self,
value: usize
) -> &mut PreemptiveCircuitConfigBuilder
How many available circuits should we try to have, at minimum, for each predicted exit port?
sourcepub fn build(&self) -> Result<PreemptiveCircuitConfig, ConfigBuildError>
pub fn build(&self) -> Result<PreemptiveCircuitConfig, ConfigBuildError>
sourceimpl PreemptiveCircuitConfigBuilder
impl PreemptiveCircuitConfigBuilder
sourcepub fn initial_predicted_ports(&mut self) -> &mut Vec<u16, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn initial_predicted_ports(&mut self) -> &mut Vec<u16, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
At startup, which exit ports should we expect that the client will want? (accessor).
(Over time, new ports are added to the predicted list, in response to what the client has actually requested.)
This value cannot be changed on a running Arti client, because doing so would be meaningless.
The default is [80, 443]
.
Mutable accessor
This method access the being-built list initial_predicted_ports
(resolving the default first).
If the field has not yet been set or accessed, the default list will be constructed and a mutable reference to the now-defaulted list of builders will be returned.
sourcepub fn set_initial_predicted_ports(&mut self, list: Vec<u16, Global>)
pub fn set_initial_predicted_ports(&mut self, list: Vec<u16, Global>)
At startup, which exit ports should we expect that the client will want? (setter).
(Over time, new ports are added to the predicted list, in response to what the client has actually requested.)
This value cannot be changed on a running Arti client, because doing so would be meaningless.
The default is [80, 443]
.
Setter
This method replaces the whole being-built list initial_predicted_ports
.
This overrides the default, and also overrides any previous settings.
sourcepub fn opt_initial_predicted_ports(&self) -> &Option<Vec<u16, Global>>
pub fn opt_initial_predicted_ports(&self) -> &Option<Vec<u16, Global>>
At startup, which exit ports should we expect that the client will want? (inspector, Option
).
(Over time, new ports are added to the predicted list, in response to what the client has actually requested.)
This value cannot be changed on a running Arti client, because doing so would be meaningless.
The default is [80, 443]
.
Inspector (default-aware, involving Option
)
This method inspects the being-built list initial_predicted_ports
(with default unresolved).
If the list has not yet been set, or accessed, &None
is returned.
sourcepub fn opt_initial_predicted_ports_mut(
&mut self
) -> &mut Option<Vec<u16, Global>>
pub fn opt_initial_predicted_ports_mut(
&mut self
) -> &mut Option<Vec<u16, Global>>
At startup, which exit ports should we expect that the client will want? (accessor, Option
).
(Over time, new ports are added to the predicted list, in response to what the client has actually requested.)
This value cannot be changed on a running Arti client, because doing so would be meaningless.
The default is [80, 443]
.
Mutable accessor (default-aware, involving Option
)
This method mutably accesses the being-built list initial_predicted_ports
(with default unresolved).
None
represents the use of the default value:
If the list has not yet been set, or accessed, &mut None
is returned.
Assigning None
will undo any previous settings and
arrange for the default value to be used when the field value is resolved,
Trait Implementations
sourceimpl Builder for PreemptiveCircuitConfigBuilder
impl Builder for PreemptiveCircuitConfigBuilder
type Built = PreemptiveCircuitConfig
type Built = PreemptiveCircuitConfig
The type that this builder constructs
sourcefn build(&self) -> Result<PreemptiveCircuitConfig, ConfigBuildError>
fn build(&self) -> Result<PreemptiveCircuitConfig, ConfigBuildError>
Build into a Built
Read more
sourceimpl Clone for PreemptiveCircuitConfigBuilder
impl Clone for PreemptiveCircuitConfigBuilder
sourcefn clone(&self) -> PreemptiveCircuitConfigBuilder
fn clone(&self) -> PreemptiveCircuitConfigBuilder
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Default for PreemptiveCircuitConfigBuilder
impl Default for PreemptiveCircuitConfigBuilder
sourcefn default() -> PreemptiveCircuitConfigBuilder
fn default() -> PreemptiveCircuitConfigBuilder
Returns the “default value” for a type. Read more
sourceimpl<'de> Deserialize<'de> for PreemptiveCircuitConfigBuilder
impl<'de> Deserialize<'de> for PreemptiveCircuitConfigBuilder
sourcefn deserialize<__D>(
__deserializer: __D
) -> Result<PreemptiveCircuitConfigBuilder, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<PreemptiveCircuitConfigBuilder, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Serialize for PreemptiveCircuitConfigBuilder
impl Serialize for PreemptiveCircuitConfigBuilder
sourcefn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for PreemptiveCircuitConfigBuilder
impl Send for PreemptiveCircuitConfigBuilder
impl Sync for PreemptiveCircuitConfigBuilder
impl Unpin for PreemptiveCircuitConfigBuilder
impl UnwindSafe for PreemptiveCircuitConfigBuilder
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, 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
. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
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. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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. Read more
sourceimpl<T> DowncastSync for T where
T: Any + Send + Sync,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more