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