Skip to main content

IpResolver

Trait IpResolver 

Source
pub trait IpResolver {
    // Required methods
    fn local_ip(&self) -> Result<IpAddr, Error>;
    fn local_ipv6(&self) -> Result<IpAddr, Error>;

    // Provided methods
    fn list_afinet_netifas(&self) -> Result<Vec<(String, IpAddr)>, Error> { ... }
    fn list_up_afinet_netifas(&self) -> Result<Vec<(String, IpAddr)>, Error> { ... }
}
Expand description

IP address operations used by the runtime.

This trait allows address resolution and interface enumeration to be controlled in tests.

Required Methods§

Provided Methods§

Source

fn list_afinet_netifas(&self) -> Result<Vec<(String, IpAddr)>, Error>

Source

fn list_up_afinet_netifas(&self) -> Result<Vec<(String, IpAddr)>, Error>

List addresses eligible for automatic selection.

Custom resolvers can override this to exclude down interfaces. The default trusts their existing interface inventory for compatibility.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§