Struct tor_netdoc::types::policy::AddrPortPattern
source · pub struct AddrPortPattern { /* private fields */ }
Expand description
A pattern that may or may not match an address and port.
Each AddrPortPattern has an IP pattern, which matches a set of addresses by prefix, and a port pattern, which matches a range of ports.
Example
use tor_netdoc::types::policy::AddrPortPattern;
use std::net::{IpAddr,Ipv4Addr};
let localhost = IpAddr::V4(Ipv4Addr::new(127,3,4,5));
let not_localhost = IpAddr::V4(Ipv4Addr::new(192,0,2,16));
let pat: AddrPortPattern = "127.0.0.0/8:*".parse().unwrap();
assert!(pat.matches(&localhost, 22));
assert!(! pat.matches(¬_localhost, 22));
Implementations§
source§impl AddrPortPattern
impl AddrPortPattern
sourcepub fn matches(&self, addr: &IpAddr, port: u16) -> bool
pub fn matches(&self, addr: &IpAddr, port: u16) -> bool
Return true iff this pattern matches a given address and port.
sourcepub fn matches_sockaddr(&self, addr: &SocketAddr) -> bool
pub fn matches_sockaddr(&self, addr: &SocketAddr) -> bool
As matches, but accept a SocketAddr.
Trait Implementations§
source§impl Clone for AddrPortPattern
impl Clone for AddrPortPattern
source§fn clone(&self) -> AddrPortPattern
fn clone(&self) -> AddrPortPattern
Returns a copy of the value. Read more
1.0.0 · 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 AddrPortPattern
impl Debug for AddrPortPattern
source§impl<'de> Deserialize<'de> for AddrPortPatternwhere
Self: FromStr,
<Self as FromStr>::Err: Display,
impl<'de> Deserialize<'de> for AddrPortPatternwhere Self: FromStr, <Self as FromStr>::Err: Display,
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 Display for AddrPortPattern
impl Display for AddrPortPattern
source§impl FromStr for AddrPortPattern
impl FromStr for AddrPortPattern
§type Err = PolicyError
type Err = PolicyError
The associated error which can be returned from parsing.
source§impl PartialEq<AddrPortPattern> for AddrPortPattern
impl PartialEq<AddrPortPattern> for AddrPortPattern
source§fn eq(&self, other: &AddrPortPattern) -> bool
fn eq(&self, other: &AddrPortPattern) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for AddrPortPatternwhere
Self: Display,
impl Serialize for AddrPortPatternwhere Self: Display,
impl Eq for AddrPortPattern
impl StructuralEq for AddrPortPattern
impl StructuralPartialEq for AddrPortPattern
Auto Trait Implementations§
impl RefUnwindSafe for AddrPortPattern
impl Send for AddrPortPattern
impl Sync for AddrPortPattern
impl Unpin for AddrPortPattern
impl UnwindSafe for AddrPortPattern
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
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.