Struct mio::Ipv4Addr1.0.0 [] [src]

pub struct Ipv4Addr {
    // some fields omitted
}

Representation of an IPv4 address.

Methods

impl Ipv4Addr

fn new(a: u8, b: u8, c: u8, d: u8) -> Ipv4Addr

Creates a new IPv4 address from four eight-bit octets.

The result will represent the IP address a.b.c.d.

fn octets(&self) -> [u8; 4]

Returns the four eight-bit integers that make up this address.

fn is_unspecified(&self) -> bool

Unstable (ip)

: extra functionality has not been scrutinized to the level that it should be stable

Returns true for the special 'unspecified' address (0.0.0.0).

This property is defined in UNIX Network Programming, Second Edition, W. Richard Stevens, p. 891; see also [ip7] [ip7][http://man7.org/linux/man-pages/man7/ip.7.html]

fn is_loopback(&self) -> bool
1.7.0

Returns true if this is a loopback address (127.0.0.0/8).

This property is defined by RFC 1122.

fn is_private(&self) -> bool
1.7.0

Returns true if this is a private address.

The private address ranges are defined in RFC 1918 and include:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

Returns true if the address is link-local (169.254.0.0/16).

This property is defined by RFC 3927.

fn is_global(&self) -> bool

Unstable (ip)

: extra functionality has not been scrutinized to the level that it should be stable

Returns true if the address appears to be globally routable. See iana-ipv4-special-registry.

The following return false:

  • private address (10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16)
  • the loopback address (127.0.0.0/8)
  • the link-local address (169.254.0.0/16)
  • the broadcast address (255.255.255.255/32)
  • test addresses used for documentation (192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24)
  • the unspecified address (0.0.0.0)

fn is_multicast(&self) -> bool
1.7.0

Returns true if this is a multicast address (224.0.0.0/4).

Multicast addresses have a most significant octet between 224 and 239, and is defined by RFC 5771.

fn is_broadcast(&self) -> bool
1.7.0

Returns true if this is a broadcast address (255.255.255.255).

A broadcast address has all octets set to 255 as defined in RFC 919.

fn is_documentation(&self) -> bool
1.7.0

Returns true if this address is in a range designated for documentation.

This is defined in RFC 5737:

  • 192.0.2.0/24 (TEST-NET-1)
  • 198.51.100.0/24 (TEST-NET-2)
  • 203.0.113.0/24 (TEST-NET-3)

fn to_ipv6_compatible(&self) -> Ipv6Addr

Converts this address to an IPv4-compatible IPv6 address.

a.b.c.d becomes ::a.b.c.d

fn to_ipv6_mapped(&self) -> Ipv6Addr

Converts this address to an IPv4-mapped IPv6 address.

a.b.c.d becomes ::ffff:a.b.c.d

Trait Implementations

impl Copy for Ipv4Addr

impl Display for Ipv4Addr

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

impl Debug for Ipv4Addr

fn fmt(&self, fmt: &mut Formatter) -> Result<()Error>

Formats the value using the given formatter.

impl Clone for Ipv4Addr

fn clone(&self) -> Ipv4Addr

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

impl PartialEq<Ipv4Addr> for Ipv4Addr

fn eq(&self, other: &Ipv4Addr) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Rhs) -> bool

This method tests for !=.

impl Eq for Ipv4Addr

impl Hash for Ipv4Addr

fn hash<H>(&self, s: &mut H) where H: Hasher

Feeds this value into the state given, updating the hasher as necessary.

fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0

Feeds a slice of this type into the state provided.

impl PartialOrd<Ipv4Addr> for Ipv4Addr

fn partial_cmp(&self, other: &Ipv4Addr) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for Ipv4Addr

fn cmp(&self, other: &Ipv4Addr) -> Ordering

This method returns an Ordering between self and other. Read more

impl From<u32> for Ipv4Addr
1.1.0

fn from(ip: u32) -> Ipv4Addr

Performs the conversion.

impl From<[u8; 4]> for Ipv4Addr
1.9.0

fn from(octets: [u8; 4]) -> Ipv4Addr

Performs the conversion.

impl FromStr for Ipv4Addr

type Err = AddrParseError

The associated error which can be returned from parsing.

fn from_str(s: &str) -> Result<Ipv4AddrAddrParseError>

Parses a string s to return a value of this type. Read more