Struct AccessControlSet
pub struct AccessControlSet { /* private fields */ }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§
§impl AccessControlSet
impl AccessControlSet
pub fn empty(name: &'static str) -> AccessControlSet
pub fn empty(name: &'static str) -> AccessControlSet
Construct an empty access control set with the given name that allows all networks.
pub 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.
pub 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§
§impl Clone for AccessControlSet
impl Clone for AccessControlSet
§fn clone(&self) -> AccessControlSet
fn clone(&self) -> AccessControlSet
1.0.0 · 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§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more