pub struct RuleEngine { /* private fields */ }Expand description
Manages all firewall rules and provides lookup by ID
Implementations§
Source§impl RuleEngine
impl RuleEngine
Sourcepub fn add_rule(&mut self, rule: FirewallRule) -> u64
pub fn add_rule(&mut self, rule: FirewallRule) -> u64
Add a rule and return its assigned ID
Sourcepub fn remove_rule(&mut self, id: u64) -> Option<FirewallRule>
pub fn remove_rule(&mut self, id: u64) -> Option<FirewallRule>
Remove a rule by ID
Sourcepub fn get_rule(&self, id: u64) -> Option<&FirewallRule>
pub fn get_rule(&self, id: u64) -> Option<&FirewallRule>
Get a rule by ID (immutable)
Sourcepub fn get_rule_mut(&mut self, id: u64) -> Option<&mut FirewallRule>
pub fn get_rule_mut(&mut self, id: u64) -> Option<&mut FirewallRule>
Get a rule by ID (mutable)
Sourcepub fn rule_count(&self) -> usize
pub fn rule_count(&self) -> usize
Number of rules
Sourcepub fn evaluate(
&mut self,
rule_ids: &[u64],
metadata: &PacketMetadata,
) -> Option<RuleAction>
pub fn evaluate( &mut self, rule_ids: &[u64], metadata: &PacketMetadata, ) -> Option<RuleAction>
Evaluate a packet against a list of rule IDs, returning the first matching rule’s action
Sourcepub fn rules_by_priority(&self) -> Vec<&FirewallRule>
pub fn rules_by_priority(&self) -> Vec<&FirewallRule>
Get all rules sorted by priority