package net
- Alphabetic
- By Inheritance
- net
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
final
case class
Datagram(remote: SocketAddress[IpAddress], bytes: Chunk[Byte]) extends Product with Serializable
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.
- remote
remote party to send/receive datagram to/from
- bytes
data to send/receive
-
trait
DatagramSocket[F[_]] extends AnyRef
Provides the ability to read/write from a UDP socket in the effect
F. - trait DatagramSocketGroup[F[_]] extends AnyRef
-
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.
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 tosendrequires theNetworkconstraint instead of requiring the much more powerfulAsyncconstraint. TheNetworkinstance has a set of global resources used for managing sockets. Alternatively, use thesocketGroupanddatagramSocketGroupoperations to manage the lifecycle of underlying resources. An instance ofNetworkis available for any effectFwhich has anAsync[F]instance.
Example: -
trait
Socket[F[_]] extends AnyRef
Provides the ability to read/write from a TCP socket in the effect
F. -
trait
SocketGroup[F[_]] extends AnyRef
Supports creation of client and server TCP sockets that all share an underlying non-blocking channel group.
-
sealed
trait
SocketOption extends AnyRef
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
StandardSocketOptionsfor details on each.