Package

com.comcast

ip4s

Permalink

package ip4s

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ip4s
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class AnySourceMulticastJoin[+A <: IpAddress](group: Multicast[A]) extends MulticastJoin[A] with Product with Serializable

    Permalink

    Multicast join to a group without a source filter.

  2. final class Cidr[+A <: IpAddress] extends Product with Serializable

    Permalink

    Classless Inter-Domain Routing address, which represents an IP address and its routing prefix.

  3. sealed abstract class IpAddress extends IpAddressPlatform with Serializable

    Permalink

    Immutable and safe representation of an IP address, either V4 or V6.

    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 an Option[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 an IpAddress 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.

  4. implicit final class IpLiteralSyntax extends AnyVal

    Permalink
  5. final class Ipv4Address extends IpAddress with Ipv4AddressPlatform

    Permalink

    Representation of an IPv4 address that works on both the JVM and Scala.js.

  6. final class Ipv6Address extends IpAddress with Ipv6AddressPlatform

    Permalink

    Representation of an IPv6 address that works on both the JVM and Scala.js.

  7. sealed trait Multicast[+A <: IpAddress] extends Product with Serializable

    Permalink

    Witness that the wrapped address of type A is a multicast address.

    Witness that the wrapped address of type A is a multicast address.

    An instance of Multicast is typically created by either calling Multicast.apply or by using the asMulticast method on IpAddress.

  8. sealed abstract class MulticastJoin[+A <: IpAddress] extends Product with Serializable

    Permalink

    Represents a join of a multicast group.

    Represents a join of a multicast group.

    This is represented as an ADT consisting of two constructors, AnySourceMulticastJoin and SourceSpecificMulticastJoin. These constructors are provided as top level types to allow domain modeling where a specific join type is required. The address type is parameterized for a similar reason -- to allow domain modeling where a specific address type is required.

  9. final case class MulticastSocketAddress[J[+x <: IpAddress] <: MulticastJoin[x], +A <: IpAddress](join: J[A], port: Port) extends Product with Serializable

    Permalink

    A multicast join of the specified type and a port number.

    A multicast join of the specified type and a port number. Used to describe UDP join of a multicast group.

  10. final class Port extends Product with Serializable with Ordered[Port]

    Permalink

    TCP or UDP port number.

  11. final case class SocketAddress[+A <: IpAddress](ip: A, port: Port) extends SocketAddressPlatform[A] with Product with Serializable

    Permalink

    An IP address of the specified type and a port number.

    An IP address of the specified type and a port number. Used to describe the source or destination of a socket.

  12. sealed trait SourceSpecificMulticast[+A <: IpAddress] extends Multicast[A]

    Permalink

    Witnesses that the wrapped address of type A is a source specific multicast address.

    Witnesses that the wrapped address of type A is a source specific multicast address.

    An instance of SourceSpecificMulticast is typically created by either calling Multicast.apply or by using the asSourceSpecificMulticast method on IpAddress.

  13. final case class SourceSpecificMulticastJoin[+A <: IpAddress](source: A, group: SourceSpecificMulticast[A]) extends MulticastJoin[A] with Product with Serializable

    Permalink

    Multicast join to a group from the specified source.

Value Members

  1. object Cidr extends Serializable

    Permalink
  2. object IpAddress extends Serializable

    Permalink
  3. object Ipv4Address extends Serializable

    Permalink
  4. object Ipv6Address extends Serializable

    Permalink
  5. object LiteralSyntaxMacros

    Permalink

    Macros that support literal string interpolators.

  6. object Multicast extends Serializable

    Permalink
  7. object MulticastJoin extends Serializable

    Permalink
  8. object MulticastSocketAddress extends Serializable

    Permalink
  9. object Port extends Serializable

    Permalink
  10. object SocketAddress extends Serializable

    Permalink
  11. object SourceSpecificMulticast extends Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped