This project defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types.
There are two defining characteristics of this project that make it different from other similar projects:
- all data types are immutable and every function/method is referentially transparent (e.g., no accidental DNS lookups by calling
InetAddress.getByName(...)
) - published for Scala, Scala.js and Scala Native
See the guide and ScalaDoc for more details.
This library is published on Maven Central under group id com.comcast
and artifact id ip4s-core_${scalaBinaryVersion}
. Add the following to your SBT build:
libraryDependencies += "com.comcast" %% "ip4s-core" % "version"
As of 1.4, ip4s depends on cats and provides type class instances directly in data type companion objects. For Scalaz support, we recommend shims.
This project is made available under the Apache License, Version 2.0. Copyright information can be found in NOTICE.
See the Code of Conduct.