Immutable and safe representation of an IP address, either V4 or V6.
=== Construction ===
IpAddress
instances are constructed in a few different ways:
- via
IpAddress("127.0.0.1")
, which parses a string representation of the IP and returns anOption[IpAddress]
- via
IpAddress.fromBytes(arr)
, which returns an IP address if the supplied array is either exactly 4 bytes or exactly 16 bytes - via literal syntax like
ip"127.0.0.1"
, which returns anIpAddress
and fails to compile if the IP is invalid.
=== Type Hierarchy ===
There are two subtypes of IpAddress
-- Ipv4Address and Ipv6Address. Each of these subtypes have a richer
API than IpAddress
and it is often useful to use those types directly, for example if your use case requires a V6 address.
It is safe to pattern match on IpAddress
to access Ipv4Address
or Ipv6Address
directly, or alternatively, you can use fold.
=== JVM Specific API ===
If using IpAddress
on the JVM, you can call toInetAddress
to convert the address to a java.net.InetAddress
, for use
with networking libraries. This method does not exist on the Scala.js version.
- Companion
- object
Value members
Abstract methods
Converts this address to a value of type A
using the supplied functions.
Converts this address to a value of type A
using the supplied functions.
Returns true if this address is in the multicast range.
Returns true if this address is in the multicast range.
Returns true if this address is in the source specific multicast range.
Returns true if this address is in the source specific multicast range.
Gets the IP address after this address, with overflow from the maximum value to the minimum value.
Gets the IP address after this address, with overflow from the maximum value to the minimum value.
Gets the IP address before this address, with underflow from minimum value to the maximum value.
Gets the IP address before this address, with underflow from minimum value to the maximum value.
Converts this address to a string form that is compatible for use in a URI per RFC3986 (namely, IPv6 addresses are rendered in condensed form and surrounded by brackets).
Converts this address to a string form that is compatible for use in a URI per RFC3986 (namely, IPv6 addresses are rendered in condensed form and surrounded by brackets).
Concrete methods
Narrows this address to an Ipv4Address if that is the underlying type.
Narrows this address to an Ipv4Address if that is the underlying type.
Narrows this address to an Ipv6Address if that is the underlying type.
Narrows this address to an Ipv6Address if that is the underlying type.
Converts this address to a multicast address, as long as it is in the multicast address range.
Converts this address to a multicast address, as long as it is in the multicast address range.
Converts this address to a source specific multicast address, as long as it is in the source specific multicast address range.
Converts this address to a source specific multicast address, as long as it is in the source specific multicast address range.
If this address is an IPv4 mapped IPv6 address, converts to an IPv4 address, otherwise returns this.
If this address is an IPv4 mapped IPv6 address, converts to an IPv4 address, otherwise returns this.
Returns true if this address is a V6 address containing a mapped V4 address.
Returns true if this address is a V6 address containing a mapped V4 address.
Inherited methods
Resolves this host to an ip address using the platform DNS resolver.
Resolves this host to an ip address using the platform DNS resolver.
If the host cannot be resolved, the effect fails with a java.net.UnknownHostException
.
- Inherited from
- HostPlatform
Resolves this host to all ip addresses known to the platform DNS resolver.
Resolves this host to all ip addresses known to the platform DNS resolver.
If the host cannot be resolved, an empty list is returned.
- Inherited from
- HostPlatform
Resolves this host to an ip address using the platform DNS resolver.
Resolves this host to an ip address using the platform DNS resolver.
If the host cannot be resolved, a None
is returned.
- Inherited from
- HostPlatform