netlink_proto/protocol/
request.rs
1use std::fmt::Debug;
4
5use netlink_packet_core::NetlinkMessage;
6
7use crate::sys::SocketAddr;
8
9#[derive(Debug)]
10pub(crate) struct Request<T, M> {
11 pub metadata: M,
12 pub message: NetlinkMessage<T>,
13 pub destination: SocketAddr,
14}
15
16impl<T, M> From<(NetlinkMessage<T>, SocketAddr, M)> for Request<T, M>
17where
18 T: Debug,
19 M: Debug,
20{
21 fn from(parts: (NetlinkMessage<T>, SocketAddr, M)) -> Self {
22 Request {
23 message: parts.0,
24 destination: parts.1,
25 metadata: parts.2,
26 }
27 }
28}
29
30impl<T, M> From<Request<T, M>> for (NetlinkMessage<T>, SocketAddr, M)
31where
32 T: Debug,
33 M: Debug,
34{
35 fn from(req: Request<T, M>) -> (NetlinkMessage<T>, SocketAddr, M) {
36 (req.message, req.destination, req.metadata)
37 }
38}