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
- Protected
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-Streambe signalled toavailable. - abstract def endOfOutput: F[Unit]
Indicates to peer, we are done writing.
Indicates to peer, we are done writing. *
- abstract def isOpen: F[Boolean]
- 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
maxBytesfrom the peer.Reads up to
maxBytesfrom 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
timeoutis specified, then resultingFwill evaluate to failure withjava.nio.channels.InterruptedByTimeoutExceptionif read was not satisfied in given timeout. Read is satisfied, when at least single Byte was received beforetimeoutexpires.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
numBytesfrom the peer in a single chunk.Reads exactly
numBytesfrom the peer in a single chunk. Iftimeoutis provided and no data arrives within the specified duration, then this results in failure withjava.nio.channels.InterruptedByTimeoutException.When returned size of bytes is <
numBytesthat 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
readsemantics.Reads stream of bytes from this socket with
readsemantics. 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
bytesto the peer.Writes
bytesto the peer. Iftimeoutis provided and the operation does not complete in the specified duration, the returnedProcessfails 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
writesemantics.
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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- 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: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
- Deprecated
(Since version ) see corresponding Javadoc for more information.
- def →[B](y: B): (Socket[F], B)
- Implicit
- This member is added by an implicit conversion from Socket[F] toArrowAssoc[Socket[F]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.