netsim/
priv_prelude.rs

1pub(crate) use {
2    std::{
3        cmp, fmt, io, mem, panic, ptr, slice, task, thread, str,
4        collections::{VecDeque, hash_map, HashMap, BTreeMap, HashSet},
5        ffi::{CStr, CString},
6        future::{Future, IntoFuture},
7        fs::File,
8        io::Write,
9        mem::MaybeUninit,
10        net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddrV4},
11        os::fd::{OwnedFd, FromRawFd, AsRawFd},
12        pin::Pin,
13        sync::Arc,
14        task::Poll,
15        time::{Duration, Instant},
16    },
17    bytes::BytesMut,
18    libc::{c_int, c_long, c_void, pid_t},
19    tokio::io::unix::AsyncFd,
20    futures::{
21        ready, FutureExt, Sink, Stream, StreamExt,
22        stream::FusedStream,
23        channel::mpsc,
24    },
25    ioctl_sys::ioctl,
26    pin_project::pin_project,
27    rand::Rng,
28    log::{log_enabled, debug, Level},
29    netsim_macros::{ipv4_network, ipv6_network},
30    crate::{
31        namespace, ioctl, iface, adapter, sys,
32        device::IpChannel,
33        machine::Machine,
34        iface::{
35            create::IpIfaceBuilder,
36            stream::{IpIface, IpSinkStream},
37        },
38        network::{Ipv4Network, Ipv6Network},
39        packet::{
40            IpPacket, IpPacketVersion, Ipv4PacketProtocol, Tcpv4Packet, TcpPacketFlags,
41        },
42    },
43};
44
45#[cfg(test)]
46pub(crate) use {
47    net_literals::{ipv4, addrv4},
48    tokio::{
49        io::{AsyncReadExt, AsyncWriteExt},
50        net::{TcpStream, TcpListener},
51    },
52    futures::{join, SinkExt},
53    crate::{
54        device::{BiChannel, IpHub, NatBuilder},
55        SinkStreamExt,
56    },
57};
58