netlink_ip/link/
handle.rs

1use connection::ConnectionHandle;
2
3use super::{AddRequest, DelRequest, GetRequest, SetRequest};
4
5pub struct LinkHandle(ConnectionHandle);
6
7impl LinkHandle {
8    pub fn new(handle: ConnectionHandle) -> Self {
9        LinkHandle(handle)
10    }
11
12    pub fn set(&self, index: u32) -> SetRequest {
13        SetRequest::new(self.0.clone(), index)
14    }
15
16    pub fn add(&self) -> AddRequest {
17        AddRequest::new(self.0.clone())
18    }
19
20    pub fn del(&mut self, index: u32) -> DelRequest {
21        DelRequest::new(self.0.clone(), index)
22    }
23
24    /// Retrieve the list of links (equivalent to `ip link show`)
25    pub fn get(&mut self) -> GetRequest {
26        GetRequest::new(self.0.clone())
27    }
28}