pub struct AccessControlSet { /* private fields */ }access-control only.Expand description
An IPv4/IPv6 access control set.
Use AccessControlSetBuilder to construct an instance.
When determining if an IpAddr is denied with Self::denied(), the deny list
is considered first, and the allow list may override the deny
decision.
The full access semantics are:
| Present in deny list | Present in allow list | Result |
|---|---|---|
| true | false | denied |
| false | false | allowed |
| true | true | allowed |
| false | true | allowed |
Implementations§
Source§impl AccessControlSet
impl AccessControlSet
Sourcepub fn empty(name: &'static str) -> Self
pub fn empty(name: &'static str) -> Self
Construct an empty access control set with the given name that allows all networks.
Sourcepub fn allows_all(&self) -> bool
pub fn allows_all(&self) -> bool
Returns true if the access control set allows all addresses.
This is true when no IPv4 or IPv6 networks are denied.
Sourcepub fn denied(&self, ip: IpAddr) -> bool
pub fn denied(&self, ip: IpAddr) -> bool
Check if the IP address ip should be denied.
If the IP address is in a network previously denied by AccessControlSetBuilder::deny()
that wasn’t explicitly allowed with AccessControlSetBuilder::allow(), this function
will return true.
All other combinations will return false (i.e., AccessControlSetBuilder::allow() acts
like an exception list for AccessControlSetBuilder::deny())
Trait Implementations§
Source§impl Clone for AccessControlSet
impl Clone for AccessControlSet
Source§fn clone(&self) -> AccessControlSet
fn clone(&self) -> AccessControlSet
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl !Freeze for AccessControlSet
impl !RefUnwindSafe for AccessControlSet
impl Send for AccessControlSet
impl Sync for AccessControlSet
impl Unpin for AccessControlSet
impl UnsafeUnpin for AccessControlSet
impl UnwindSafe for AccessControlSet
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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