fs2.io.net

package fs2.io.net

Provides support for doing network I/O -- TCP, UDP, and TLS.

Type members

Classlikes

final case class Datagram(remote: SocketAddress[IpAddress], bytes: Chunk[Byte])

A single datagram to send to the specified remote address or received from the specified address.

A single datagram to send to the specified remote address or received from the specified address.

Value parameters:
bytes

data to send/receive

remote

remote party to send/receive datagram to/from

Source:
Datagram.scala
trait DatagramSocket[F[_]]

Provides the ability to read/write from a UDP socket in the effect F.

Provides the ability to read/write from a UDP socket in the effect F.

Companion:
object
Source:
DatagramSocket.scala
sealed trait Network[F[_]] extends SocketGroup[F] with DatagramSocketGroup[F]

Provides the ability to work with TCP, UDP, and TLS.

Provides the ability to work with TCP, UDP, and TLS.

Example:
import fs2.Stream
import fs2.io.net.{Datagram, Network}
def send[F[_]: Network](datagram: Datagram): F[Unit] =
 Network[F].openDatagramSocket().use { socket =>
   socket.write(packet)
 }

In this example, the F[_] parameter to send requires the Network constraint instead of requiring the much more powerful Async constraint. The Network instance has a set of global resources used for managing sockets. Alternatively, use the socketGroup and datagramSocketGroup operations to manage the lifecycle of underlying resources. An instance of Network is available for any effect F which has an Async[F] instance.

Companion:
object
Source:
Network.scala
object Network
Companion:
class
Source:
Network.scala
trait Socket[F[_]]

Provides the ability to read/write from a TCP socket in the effect F.

Provides the ability to read/write from a TCP socket in the effect F.

Companion:
object
Source:
Socket.scala
object Socket
Companion:
class
Source:
Socket.scala
trait SocketGroup[F[_]]

Supports creation of client and server TCP sockets that all share an underlying non-blocking channel group.

Supports creation of client and server TCP sockets that all share an underlying non-blocking channel group.

Source:
SocketGroup.scala
sealed trait SocketOption

Specifies a socket option on a TCP/UDP socket.

Specifies a socket option on a TCP/UDP socket.

The companion provides methods for creating a socket option from each of the JDK java.net.StandardSocketOptions as well as the ability to construct arbitrary additional options. See the docs on StandardSocketOptions for details on each.

Companion:
object
Source:
SocketOption.scala
Companion:
class
Source:
SocketOption.scala

Types

type BindException = BindException
Source:
net.scala
type ConnectException = ConnectException
Source:
net.scala
type ProtocolException = ProtocolException
Source:
net.scala
type SocketException = SocketException
Source:
net.scala
type SocketTimeoutException = SocketTimeoutException
Source:
net.scala

Deprecated types

@deprecated("Use ip4s.UnknownHostException instead", "3.2.0")
Deprecated
Source:
net.scala

Value members

Concrete fields