fn PacketMetadata::empty() → const PacketMetadata::EMPTY.

Fixes #181.
v0.7.x
whitequark 2018-03-24 03:21:26 +00:00
parent bca0ff638b
commit 485b46a5e6
7 changed files with 19 additions and 21 deletions

View File

@ -54,8 +54,8 @@ fn main() {
let remote_addr = address; let remote_addr = address;
let local_addr = Ipv4Address::new(192, 168, 69, 1); let local_addr = Ipv4Address::new(192, 168, 69, 1);
let icmp_rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 256]); let icmp_rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 256]);
let icmp_tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 256]); let icmp_tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 256]);
let icmp_socket = IcmpSocket::new(icmp_rx_buffer, icmp_tx_buffer); let icmp_socket = IcmpSocket::new(icmp_rx_buffer, icmp_tx_buffer);
let ethernet_addr = EthernetAddress([0x02, 0x00, 0x00, 0x00, 0x00, 0x02]); let ethernet_addr = EthernetAddress([0x02, 0x00, 0x00, 0x00, 0x00, 0x02]);

View File

@ -32,8 +32,8 @@ fn main() {
let neighbor_cache = NeighborCache::new(BTreeMap::new()); let neighbor_cache = NeighborCache::new(BTreeMap::new());
let udp_rx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::empty()], vec![0; 64]); let udp_rx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY], vec![0; 64]);
let udp_tx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::empty()], vec![0; 128]); let udp_tx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY], vec![0; 128]);
let udp_socket = UdpSocket::new(udp_rx_buffer, udp_tx_buffer); let udp_socket = UdpSocket::new(udp_rx_buffer, udp_tx_buffer);
let tcp1_rx_buffer = TcpSocketBuffer::new(vec![0; 64]); let tcp1_rx_buffer = TcpSocketBuffer::new(vec![0; 64]);

View File

@ -1427,8 +1427,8 @@ mod test {
let (iface, mut socket_set) = create_loopback(); let (iface, mut socket_set) = create_loopback();
let rx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::empty()], vec![0; 15]); let rx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY], vec![0; 15]);
let tx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::empty()], vec![0; 15]); let tx_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY], vec![0; 15]);
let udp_socket = UdpSocket::new(rx_buffer, tx_buffer); let udp_socket = UdpSocket::new(rx_buffer, tx_buffer);
@ -1624,8 +1624,8 @@ mod test {
let (iface, mut socket_set) = create_loopback(); let (iface, mut socket_set) = create_loopback();
let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 24]); let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 24]);
let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 24]); let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 24]);
let icmpv4_socket = IcmpSocket::new(rx_buffer, tx_buffer); let icmpv4_socket = IcmpSocket::new(rx_buffer, tx_buffer);

View File

@ -124,8 +124,8 @@ impl<'a, 'b> IcmpSocket<'a, 'b> {
/// ///
/// ``` /// ```
/// # use smoltcp::socket::{Socket, IcmpSocket, IcmpSocketBuffer, IcmpPacketMetadata}; /// # use smoltcp::socket::{Socket, IcmpSocket, IcmpSocketBuffer, IcmpPacketMetadata};
/// # let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 20]); /// # let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 20]);
/// # let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 20]); /// # let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 20]);
/// use smoltcp::wire::IpEndpoint; /// use smoltcp::wire::IpEndpoint;
/// use smoltcp::socket::IcmpEndpoint; /// use smoltcp::socket::IcmpEndpoint;
/// ///
@ -146,8 +146,8 @@ impl<'a, 'b> IcmpSocket<'a, 'b> {
/// ///
/// ``` /// ```
/// # use smoltcp::socket::{Socket, IcmpSocket, IcmpSocketBuffer, IcmpPacketMetadata}; /// # use smoltcp::socket::{Socket, IcmpSocket, IcmpSocketBuffer, IcmpPacketMetadata};
/// # let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 20]); /// # let rx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 20]);
/// # let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty()], vec![0; 20]); /// # let tx_buffer = IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY], vec![0; 20]);
/// use smoltcp::socket::IcmpEndpoint; /// use smoltcp::socket::IcmpEndpoint;
/// ///
/// let mut icmp_socket = // ... /// let mut icmp_socket = // ...
@ -326,7 +326,7 @@ mod test {
use super::*; use super::*;
fn buffer(packets: usize) -> IcmpSocketBuffer<'static, 'static> { fn buffer(packets: usize) -> IcmpSocketBuffer<'static, 'static> {
IcmpSocketBuffer::new(vec![IcmpPacketMetadata::empty(); packets], vec![0; 46 * packets]) IcmpSocketBuffer::new(vec![IcmpPacketMetadata::EMPTY; packets], vec![0; 46 * packets])
} }
fn socket(rx_buffer: IcmpSocketBuffer<'static, 'static>, fn socket(rx_buffer: IcmpSocketBuffer<'static, 'static>,

View File

@ -233,7 +233,7 @@ mod test {
use super::*; use super::*;
fn buffer(packets: usize) -> RawSocketBuffer<'static, 'static> { fn buffer(packets: usize) -> RawSocketBuffer<'static, 'static> {
RawSocketBuffer::new(vec![RawPacketMetadata::empty(); packets], vec![0; 48 * packets]) RawSocketBuffer::new(vec![RawPacketMetadata::EMPTY; packets], vec![0; 48 * packets])
} }
#[cfg(feature = "proto-ipv4")] #[cfg(feature = "proto-ipv4")]

View File

@ -238,7 +238,7 @@ mod test {
use super::*; use super::*;
fn buffer(packets: usize) -> UdpSocketBuffer<'static, 'static> { fn buffer(packets: usize) -> UdpSocketBuffer<'static, 'static> {
UdpSocketBuffer::new(vec![UdpPacketMetadata::empty(); packets], vec![0; 16 * packets]) UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY; packets], vec![0; 16 * packets])
} }
fn socket(rx_buffer: UdpSocketBuffer<'static, 'static>, fn socket(rx_buffer: UdpSocketBuffer<'static, 'static>,
@ -467,7 +467,7 @@ mod test {
#[test] #[test]
fn test_process_empty_payload() { fn test_process_empty_payload() {
let recv_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::empty(); 1], vec![]); let recv_buffer = UdpSocketBuffer::new(vec![UdpPacketMetadata::EMPTY; 1], vec![]);
let mut socket = socket(recv_buffer, buffer(0)); let mut socket = socket(recv_buffer, buffer(0));
assert_eq!(socket.bind(LOCAL_PORT), Ok(())); assert_eq!(socket.bind(LOCAL_PORT), Ok(()));

View File

@ -11,10 +11,8 @@ pub struct PacketMetadata<H> {
} }
impl<H> PacketMetadata<H> { impl<H> PacketMetadata<H> {
/// Create an empty packet description. /// Empty packet description.
pub fn empty() -> PacketMetadata<H> { pub const EMPTY: PacketMetadata<H> = PacketMetadata { size: 0, header: None };
Self::padding(0)
}
fn padding(size: usize) -> PacketMetadata<H> { fn padding(size: usize) -> PacketMetadata<H> {
PacketMetadata { PacketMetadata {
@ -155,7 +153,7 @@ mod test {
use super::*; use super::*;
fn buffer() -> PacketBuffer<'static, 'static, ()> { fn buffer() -> PacketBuffer<'static, 'static, ()> {
PacketBuffer::new(vec![PacketMetadata::empty(); 4], PacketBuffer::new(vec![PacketMetadata::EMPTY; 4],
vec![0u8; 16]) vec![0u8; 16])
} }