pub struct InnerRuleStore { /* private fields */ }Expand description
In-memory DNS rule store.
Resolution priority (first match wins):
- Ephemeral exact
- Ephemeral wildcard
- Persistent exact
- Persistent wildcard
Implementations§
Source§impl InnerRuleStore
impl InnerRuleStore
pub fn new() -> Self
Sourcepub fn resolve(&self, domain: &str) -> Option<&DnsRule>
pub fn resolve(&self, domain: &str) -> Option<&DnsRule>
Resolve a domain to its matching rule.
Checks ephemeral before persistent, exact before wildcard.
Sourcepub fn add_ephemeral(&mut self, rule: DnsRule)
pub fn add_ephemeral(&mut self, rule: DnsRule)
Add or replace an ephemeral rule.
Sourcepub fn remove(&mut self, domain: &str) -> Option<DnsRule>
pub fn remove(&mut self, domain: &str) -> Option<DnsRule>
Remove the persistent rule for domain.
Sourcepub fn remove_ephemeral(&mut self, domain: &str) -> Option<DnsRule>
pub fn remove_ephemeral(&mut self, domain: &str) -> Option<DnsRule>
Remove the ephemeral rule for domain.
Sourcepub fn persistent_rules(&self) -> impl Iterator<Item = &DnsRule>
pub fn persistent_rules(&self) -> impl Iterator<Item = &DnsRule>
Iterate over persistent rules only.
Sourcepub fn all_rules(&self) -> impl Iterator<Item = &DnsRule>
pub fn all_rules(&self) -> impl Iterator<Item = &DnsRule>
Iterate over all rules (ephemeral + persistent).
pub fn len(&self) -> usize
pub fn is_empty(&self) -> bool
Trait Implementations§
Source§impl Clone for InnerRuleStore
impl Clone for InnerRuleStore
Source§fn clone(&self) -> InnerRuleStore
fn clone(&self) -> InnerRuleStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 InnerRuleStore
impl Debug for InnerRuleStore
Source§impl Default for InnerRuleStore
impl Default for InnerRuleStore
Source§fn default() -> InnerRuleStore
fn default() -> InnerRuleStore
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for InnerRuleStore
impl RefUnwindSafe for InnerRuleStore
impl Send for InnerRuleStore
impl Sync for InnerRuleStore
impl Unpin for InnerRuleStore
impl UnsafeUnpin for InnerRuleStore
impl UnwindSafe for InnerRuleStore
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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