1use core::net::{IpAddr, SocketAddr};
4
5#[derive(Debug, Clone, Copy, Eq, PartialEq)]
10pub struct Transmit {
11 dst: SocketAddr,
12 src_ip: Option<IpAddr>,
13 size: usize,
14}
15
16impl Transmit {
17 #[inline(always)]
19 pub const fn new(dst: SocketAddr, src_ip: Option<IpAddr>, size: usize) -> Self {
20 Self { dst, src_ip, size }
21 }
22
23 #[inline(always)]
25 pub const fn dst(&self) -> SocketAddr {
26 self.dst
27 }
28
29 #[inline(always)]
32 pub const fn src_ip(&self) -> Option<IpAddr> {
33 self.src_ip
34 }
35
36 #[inline(always)]
38 pub const fn size(&self) -> usize {
39 self.size
40 }
41}
42
43#[cfg(test)]
44mod tests;