pub struct IpClassRequirement {
pub minimum: IpClass,
}Expand description
Minimum IpClass required for a capability-aware acquisition.
A Mobile proxy satisfies a Isp requirement because
Mobile.rank() > Isp.rank(). The reverse (Isp does not satisfy
Mobile) is also true. The default is IpClass::Unknown which
matches every non-empty proxy (and is also the only way to match an
Unknown proxy).
§Example
use stygian_proxy::types::{IpClass, IpClassRequirement};
let req = IpClassRequirement { minimum: IpClass::Isp };
assert!(req.is_satisfied_by(IpClass::Mobile));
assert!(req.is_satisfied_by(IpClass::Isp));
assert!(!req.is_satisfied_by(IpClass::Residential));
assert!(!req.is_satisfied_by(IpClass::Datacenter));Fields§
§minimum: IpClassMinimum IP class rank required.
Implementations§
Source§impl IpClassRequirement
impl IpClassRequirement
Sourcepub const fn is_satisfied_by(&self, proxy: IpClass) -> bool
pub const fn is_satisfied_by(&self, proxy: IpClass) -> bool
Returns true when proxy meets or exceeds the requirement.
§Example
use stygian_proxy::types::{IpClass, IpClassRequirement};
let req = IpClassRequirement { minimum: IpClass::Isp };
assert!(req.is_satisfied_by(IpClass::Mobile));
assert!(req.is_satisfied_by(IpClass::Isp));
assert!(!req.is_satisfied_by(IpClass::Datacenter));Trait Implementations§
Source§impl Clone for IpClassRequirement
impl Clone for IpClassRequirement
Source§fn clone(&self) -> IpClassRequirement
fn clone(&self) -> IpClassRequirement
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 moreimpl Copy for IpClassRequirement
Source§impl Debug for IpClassRequirement
impl Debug for IpClassRequirement
Source§impl Default for IpClassRequirement
impl Default for IpClassRequirement
Source§fn default() -> IpClassRequirement
fn default() -> IpClassRequirement
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for IpClassRequirement
impl<'de> Deserialize<'de> for IpClassRequirement
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 IpClassRequirement
Source§impl Hash for IpClassRequirement
impl Hash for IpClassRequirement
Source§impl PartialEq for IpClassRequirement
impl PartialEq for IpClassRequirement
Source§impl Serialize for IpClassRequirement
impl Serialize for IpClassRequirement
impl StructuralPartialEq for IpClassRequirement
Auto Trait Implementations§
impl Freeze for IpClassRequirement
impl RefUnwindSafe for IpClassRequirement
impl Send for IpClassRequirement
impl Sync for IpClassRequirement
impl Unpin for IpClassRequirement
impl UnsafeUnpin for IpClassRequirement
impl UnwindSafe for IpClassRequirement
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,
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.