1use crate::{Handle, IpVersion, RuleAddRequest, RuleDelRequest, RuleGetRequest};
4use netlink_packet_route::RuleMessage;
5
6pub struct RuleHandle(Handle);
7
8impl RuleHandle {
9 pub fn new(handle: Handle) -> Self {
10 RuleHandle(handle)
11 }
12
13 pub fn get(&self, ip_version: IpVersion) -> RuleGetRequest {
15 RuleGetRequest::new(self.0.clone(), ip_version)
16 }
17
18 pub fn add(&self) -> RuleAddRequest {
20 RuleAddRequest::new(self.0.clone())
21 }
22
23 pub fn del(&self, rule: RuleMessage) -> RuleDelRequest {
25 RuleDelRequest::new(self.0.clone(), rule)
26 }
27}