Struct tor_circmgr::path::exitpath::ExitPathBuilder
source · [−]pub struct ExitPathBuilder<'a> { /* private fields */ }Expand description
A PathBuilder that builds a path to an exit relay supporting a given set of ports.
Implementations
sourceimpl<'a> ExitPathBuilder<'a>
impl<'a> ExitPathBuilder<'a>
sourcepub fn from_target_ports(
wantports: impl IntoIterator<Item = TargetPort>
) -> Self
pub fn from_target_ports(
wantports: impl IntoIterator<Item = TargetPort>
) -> Self
Create a new builder that will try to get an exit relay
containing all the ports in ports.
If the list of ports is empty, tries to get any exit relay at all.
sourcepub fn from_chosen_exit(exit_relay: Relay<'a>) -> Self
pub fn from_chosen_exit(exit_relay: Relay<'a>) -> Self
Create a new builder that will try to build a path with the given exit relay as the last hop.
sourcepub fn for_any_exit() -> Self
pub fn for_any_exit() -> Self
Create a new builder that will try to get any exit relay at all.
sourcepub fn pick_path<R: Rng, RT: Runtime>(
&self,
rng: &mut R,
netdir: DirInfo<'a>,
guards: Option<&GuardMgr<RT>>,
config: &PathConfig,
now: SystemTime
) -> Result<(TorPath<'a>, Option<GuardMonitor>, Option<GuardUsable>)>
pub fn pick_path<R: Rng, RT: Runtime>(
&self,
rng: &mut R,
netdir: DirInfo<'a>,
guards: Option<&GuardMgr<RT>>,
config: &PathConfig,
now: SystemTime
) -> Result<(TorPath<'a>, Option<GuardMonitor>, Option<GuardUsable>)>
Try to create and return a path corresponding to the requirements of this builder.
Auto Trait Implementations
impl<'a> RefUnwindSafe for ExitPathBuilder<'a>
impl<'a> Send for ExitPathBuilder<'a>
impl<'a> Sync for ExitPathBuilder<'a>
impl<'a> Unpin for ExitPathBuilder<'a>
impl<'a> UnwindSafe for ExitPathBuilder<'a>
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> 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