Skip to main content

Net

Struct Net 

Source
pub struct Net { /* private fields */ }

Implementations§

Source§

impl Net

Source

pub fn new() -> Self

Source

pub fn with_config(cfg: KernelConfig) -> Self

cfg is applied to every host added later.

Source

pub fn add_host<A: ToIpAddrs>(&mut self, addrs: A) -> HostId

Register a host. addrs accepts hostnames (auto-allocated to 192.168.x.x on first sight, idempotent on reuse) or literal IPs. Loopback (127.0.0.1, ::1) is implicit — do not pass it. Panics if an address is already claimed by another host, or if loopback is passed explicitly. The first host added becomes current.

Source

pub fn lookup(&mut self, name: &str) -> IpAddr

Resolve name to its registered IP, allocating if unseen. Mirrors the name resolution used by Net::add_host and the shim’s hostname-aware socket addrs.

Source

pub fn host_ids(&self) -> impl Iterator<Item = HostId> + '_

Source

pub fn rule(&mut self, rule: impl Rule)

Install a rule for the life of the Net. Use this when the rule is part of the test’s fixed setup (symmetric latency, permanent packet filter, etc). For rules that only apply to a phase of the test, use the guard-returning rule free function from inside the sim instead.

Source

pub fn enter(self) -> EnterGuard

Panics if another Net is already installed on this thread.

Trait Implementations§

Source§

impl Debug for Net

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Net

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Net

§

impl !RefUnwindSafe for Net

§

impl !Send for Net

§

impl !Sync for Net

§

impl Unpin for Net

§

impl UnsafeUnpin for Net

§

impl !UnwindSafe for Net

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.