IP address convenience constructors
This commit is contained in:
@@ -342,6 +342,32 @@ impl Ipv4Addr {
|
||||
}
|
||||
}
|
||||
|
||||
/// Creates a new IPv4 address with the address pointing to localhost: 127.0.0.1.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use std::net::Ipv4Addr;
|
||||
///
|
||||
/// let addr = Ipv4Addr::localhost();
|
||||
/// assert_eq!(addr, Ipv4Addr::new(127, 0, 0, 1));
|
||||
pub fn localhost() -> Ipv4Addr {
|
||||
Ipv4Addr::new(127, 0, 0, 1)
|
||||
}
|
||||
|
||||
/// Creates a new IPv4 address representing an unspecified address: 0.0.0.0
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use std::net::Ipv4Addr;
|
||||
///
|
||||
/// let addr = Ipv4Addr::unspecified();
|
||||
/// assert_eq!(addr, Ipv4Addr::new(0, 0, 0, 0));
|
||||
pub fn unspecified() -> Ipv4Addr {
|
||||
Ipv4Addr::new(0, 0, 0, 0)
|
||||
}
|
||||
|
||||
/// Returns the four eight-bit integers that make up this address.
|
||||
///
|
||||
/// # Examples
|
||||
@@ -788,6 +814,32 @@ impl Ipv6Addr {
|
||||
Ipv6Addr { inner: addr }
|
||||
}
|
||||
|
||||
/// Creates a new IPv6 address representing localhost: `::1`.
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use std::net::Ipv6Addr;
|
||||
///
|
||||
/// let addr = Ipv6Addr::localhost();
|
||||
/// assert_eq!(addr, Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1));
|
||||
pub fn localhost() -> Ipv6Addr {
|
||||
Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1)
|
||||
}
|
||||
|
||||
/// Creates a new IPv6 address representing the unspecified address: `::`
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// ```
|
||||
/// use std::net::Ipv6Addr;
|
||||
///
|
||||
/// let addr = Ipv6Addr::unspecified();
|
||||
/// assert_eq!(addr, Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0));
|
||||
pub fn unspecified() -> Ipv6Addr {
|
||||
Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0)
|
||||
}
|
||||
|
||||
/// Returns the eight 16-bit segments that make up this address.
|
||||
///
|
||||
/// # Examples
|
||||
@@ -1681,6 +1733,22 @@ mod tests {
|
||||
assert_eq!(Ipv6Addr::from(0x112233445566778899aabbccddeeff11u128), a);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ipv4_from_constructors() {
|
||||
assert_eq!(Ipv4Addr::localhost(), Ipv4Addr::new(127, 0, 0, 1));
|
||||
assert!(Ipv4Addr::localhost().is_loopback());
|
||||
assert_eq!(Ipv4Addr::unspecified(), Ipv4Addr::new(0, 0, 0, 0));
|
||||
assert!(Ipv4Addr::unspecified().is_unspecified());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ipv6_from_contructors() {
|
||||
assert_eq!(Ipv6Addr::localhost(), Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 1));
|
||||
assert!(Ipv6Addr::localhost().is_loopback());
|
||||
assert_eq!(Ipv6Addr::unspecified(), Ipv6Addr::new(0, 0, 0, 0, 0, 0, 0, 0));
|
||||
assert!(Ipv6Addr::unspecified().is_unspecified());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn ipv4_from_octets() {
|
||||
assert_eq!(Ipv4Addr::from([127, 0, 0, 1]), Ipv4Addr::new(127, 0, 0, 1))
|
||||
|
||||
Reference in New Issue
Block a user