#[non_exhaustive]pub enum EgressKind {
Datacenter,
Residential,
Mobile,
Tor,
}Expand description
The kind of network an egress exits from.
A site’s ip_type requirement is matched against this. (Direct
isn’t a kind here — the unproxied default egress is selected by an
unconstrained policy, not by requesting a kind.)
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Datacenter
A datacenter / hosting-provider IP (cheap, easily fingerprinted
and blocked). The default when a config entry omits kind.
Residential
A residential ISP IP (harder to block; what most “real users” look like).
Mobile
A mobile-carrier IP (shared CGNAT ranges; highest trust on many sites).
Tor
A Tor exit node.
Trait Implementations§
Source§impl Clone for EgressKind
impl Clone for EgressKind
Source§fn clone(&self) -> EgressKind
fn clone(&self) -> EgressKind
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 EgressKind
impl Debug for EgressKind
Source§impl Default for EgressKind
impl Default for EgressKind
Source§fn default() -> EgressKind
fn default() -> EgressKind
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for EgressKind
impl<'de> Deserialize<'de> for EgressKind
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
Source§impl PartialEq for EgressKind
impl PartialEq for EgressKind
Source§fn eq(&self, other: &EgressKind) -> bool
fn eq(&self, other: &EgressKind) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for EgressKind
impl Serialize for EgressKind
impl Copy for EgressKind
impl Eq for EgressKind
impl StructuralPartialEq for EgressKind
Auto Trait Implementations§
impl Freeze for EgressKind
impl RefUnwindSafe for EgressKind
impl Send for EgressKind
impl Sync for EgressKind
impl Unpin for EgressKind
impl UnsafeUnpin for EgressKind
impl UnwindSafe for EgressKind
Blanket Implementations§
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,
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.