trait Socket[F[_]] extends AnyRef
Provides the ability to read/write from a TCP socket in the effect F
.
To construct a Socket
, use the methods in the fs2.io.tcp package object.
- Source
- Socket.scala
- Alphabetic
- By Inheritance
- Socket
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
close: F[Unit]
Closes the connection corresponding to this
Socket
. -
abstract
def
endOfInput: F[Unit]
Indicates that this channel will not read more data.
Indicates that this channel will not read more data. Causes
End-Of-Stream
be signalled toavailable
. -
abstract
def
endOfOutput: F[Unit]
Indicates to peer, we are done writing.
Indicates to peer, we are done writing. *
-
abstract
def
localAddress: F[SocketAddress]
Asks for the local address of the socket.
-
abstract
def
read(maxBytes: Int, timeout: Option[FiniteDuration] = None): F[Option[Chunk[Byte]]]
Reads up to
maxBytes
from the peer.Reads up to
maxBytes
from the peer.Evaluates to None, if there are no more bytes to be read in future, due stream reached End-Of-Stream state before returning even single byte. Otherwise returns Some(bytes) with bytes that were ready to be read.
If
timeout
is specified, then resultingF
will evaluate to failure withjava.nio.channels.InterruptedByTimeoutException
if read was not satisfied in given timeout. Read is satisfied, when at least single Byte was received beforetimeout
expires.This may return None, as well when end of stream has been reached before timeout expired and no data has been received.
-
abstract
def
readN(numBytes: Int, timeout: Option[FiniteDuration] = None): F[Option[Chunk[Byte]]]
Reads exactly
numBytes
from the peer in a single chunk.Reads exactly
numBytes
from the peer in a single chunk. Iftimeout
is provided and no data arrives within the specified duration, then this results in failure withjava.nio.channels.InterruptedByTimeoutException
.When returned size of bytes is <
numBytes
that indicates end-of-stream has been reached. -
abstract
def
reads(maxBytes: Int, timeout: Option[FiniteDuration] = None): Stream[F, Byte]
Reads stream of bytes from this socket with
read
semantics.Reads stream of bytes from this socket with
read
semantics. Terminates when eof is received. On timeout, this fails withjava.nio.channels.InterruptedByTimeoutException
. -
abstract
def
remoteAddress: F[SocketAddress]
Asks for the remote address of the peer.
-
abstract
def
write(bytes: Chunk[Byte], timeout: Option[FiniteDuration] = None): F[Unit]
Writes
bytes
to the peer.Writes
bytes
to the peer. Iftimeout
is provided and the operation does not complete in the specified duration, the returnedProcess
fails with ajava.nio.channels.InterruptedByTimeoutException
.Completes when bytes are written to the socket.
-
abstract
def
writes(timeout: Option[FiniteDuration] = None): Pipe[F, Byte, Unit]
Writes the supplied stream of bytes to this socket via
write
semantics.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Socket[F], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def ensuring(cond: (Socket[F]) ⇒ Boolean, msg: ⇒ Any): Socket[F]
- def ensuring(cond: (Socket[F]) ⇒ Boolean): Socket[F]
- def ensuring(cond: Boolean, msg: ⇒ Any): Socket[F]
- def ensuring(cond: Boolean): Socket[F]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def →[B](y: B): (Socket[F], B)