1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use std::net::SocketAddr;
#[derive(Clone, Eq, PartialEq)]
pub struct Packet {
address: SocketAddr,
payload: Box<[u8]>,
}
impl Packet {
pub fn new(address: SocketAddr, payload: Vec<u8>) -> Packet {
Packet {
address,
payload: payload.into_boxed_slice(),
}
}
pub fn new_raw(address: SocketAddr, payload: Box<[u8]>) -> Packet {
Packet { address, payload }
}
pub fn payload(&self) -> &[u8] {
&self.payload
}
pub fn address(&self) -> SocketAddr {
self.address
}
}