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 AddrPortPattern
impl<'de> Deserialize<'de> for AddrPortPattern
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 for AddrPortPattern
impl PartialEq 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 StructuralPartialEq for AddrPortPattern
Auto Trait Implementations§
impl Freeze for AddrPortPattern
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 Q
impl<Q, K> Equivalent<K> for Q
§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 Q
impl<Q, K> Equivalent<K> for Q
§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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more