Struct AccessControlSet
pub struct AccessControlSet { /* private fields */ }Expand description
An IPv4/IPv6 access control set. This mainly hides the complexity of supporting v4 and v6 addresses concurrently in a given set. The AccessControlSet differs from a typical Access Control List in that there is no order. The access semantics are:
| Present in allow list | Present in deny list | Result |
|---|---|---|
| true | false | allowed |
| true | true | allowed |
| false | false | allowed |
| false | true | denied |
Implementations§
§impl<'a> AccessControlSet
impl<'a> AccessControlSet
pub fn new(name: &'static str) -> AccessControlSet
pub fn new(name: &'static str) -> AccessControlSet
Construct a new AccessControlSet with the given name. name is an arbitrary string used
in log messages.
pub fn allow(&mut self, allow: impl Iterator<Item = &'a IpNet>)
pub fn allow(&mut self, allow: impl Iterator<Item = &'a IpNet>)
Insert new subnets in the allow list. Existing subnets will not be removed.
pub fn deny(&mut self, deny: impl Iterator<Item = &'a IpNet>)
pub fn deny(&mut self, deny: impl Iterator<Item = &'a IpNet>)
Insert new subnets in the deny list. Existing subnets will not be removed.
pub fn clear_allow(&mut self)
pub fn clear_allow(&mut self)
Clear all subnets from the allow list.
pub fn clear_deny(&mut self)
pub fn clear_deny(&mut self)
Clear all subnets from the deny list.
Trait Implementations§
§impl Clone for AccessControlSet
impl Clone for AccessControlSet
§fn clone(&self) -> AccessControlSet
fn clone(&self) -> AccessControlSet
Returns a duplicate 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 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
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> 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> ⓘ
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
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>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more