pub struct OnionExitPolicy {
pub allowed_targets: Vec<OnionExitTarget>,
pub denied_targets: Vec<OnionExitTarget>,
pub max_circuits: u32,
pub max_streams_per_circuit: u32,
pub max_bytes_per_minute: u64,
}Expand description
Signed policy fields for an onion exit.
Fields§
§allowed_targets: Vec<OnionExitTarget>Target allow-list entries understood by the exit implementation. Empty means closed.
denied_targets: Vec<OnionExitTarget>Target deny-list entries understood by the exit implementation. Deny entries override allows.
max_circuits: u32Maximum concurrent circuits this exit wants to serve. 0 means unspecified.
max_streams_per_circuit: u32Maximum streams per circuit. 0 means unspecified.
max_bytes_per_minute: u64Maximum bytes per minute. 0 means unspecified.
Implementations§
Source§impl OnionExitPolicy
impl OnionExitPolicy
Sourcepub fn from_target_strings(
allowed_targets: Vec<String>,
denied_targets: Vec<String>,
) -> Result<Self>
pub fn from_target_strings( allowed_targets: Vec<String>, denied_targets: Vec<String>, ) -> Result<Self>
Build a policy from raw target strings at configuration or API boundaries.
Sourcepub fn validate_targets(&self) -> Result<()>
pub fn validate_targets(&self) -> Result<()>
Validate target lists for an advertised onion exit.
Sourcepub fn allows_target(&self, target: &OnionExitTarget) -> bool
pub fn allows_target(&self, target: &OnionExitTarget) -> bool
Return whether target is admitted by this policy’s allow-list.
Trait Implementations§
Source§impl Clone for OnionExitPolicy
impl Clone for OnionExitPolicy
Source§fn clone(&self) -> OnionExitPolicy
fn clone(&self) -> OnionExitPolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OnionExitPolicy
impl Debug for OnionExitPolicy
Source§impl Default for OnionExitPolicy
impl Default for OnionExitPolicy
Source§fn default() -> OnionExitPolicy
fn default() -> OnionExitPolicy
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for OnionExitPolicy
impl<'de> Deserialize<'de> for OnionExitPolicy
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for OnionExitPolicy
Source§impl PartialEq for OnionExitPolicy
impl PartialEq for OnionExitPolicy
Source§impl Serialize for OnionExitPolicy
impl Serialize for OnionExitPolicy
impl StructuralPartialEq for OnionExitPolicy
Auto Trait Implementations§
impl Freeze for OnionExitPolicy
impl RefUnwindSafe for OnionExitPolicy
impl Send for OnionExitPolicy
impl Sync for OnionExitPolicy
impl Unpin for OnionExitPolicy
impl UnsafeUnpin for OnionExitPolicy
impl UnwindSafe for OnionExitPolicy
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
Converts
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> ⓘ
Converts
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
impl<T> MaybeSend for T
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.