final class DatagramChannel extends SelectableChannel
A java.nio.channels.DatagramChannel wrapper allowing for basic zio.ZIO interoperability.
- Self Type
- DatagramChannel
- Alphabetic
- By Inheritance
- DatagramChannel
- SelectableChannel
- BlockingChannel
- Channel
- IOCloseable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final class BlockingDatagramOps extends DatagramOps
- type BlockingOps = BlockingDatagramOps
The blocking operations supported by this channel.
The blocking operations supported by this channel.
- Definition Classes
- DatagramChannel → BlockingChannel
- sealed abstract class DatagramOps extends GatheringByteOps with ScatteringByteOps
- final class NonBlockingDatagramOps extends DatagramOps
- type NonBlockingOps = NonBlockingDatagramOps
The non-blocking operations supported by this channel.
The non-blocking operations supported by this channel.
- Definition Classes
- DatagramChannel → SelectableChannel
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bind(local: Option[SocketAddress])(implicit trace: Trace): IO[IOException, Unit]
Binds this channel's underlying socket to the given local address.
Binds this channel's underlying socket to the given local address. Passing
None
binds to an automatically assigned local address.- local
the local address
- returns
the datagram channel bound to the local address
- def bindAuto(implicit trace: Trace): IO[IOException, Unit]
- def bindTo(local: SocketAddress)(implicit trace: Trace): IO[IOException, Unit]
- final def blockingLock(implicit trace: Trace): UIO[AnyRef]
- Definition Classes
- SelectableChannel
- val channel: java.nio.channels.DatagramChannel
- Attributes
- protected
- Definition Classes
- DatagramChannel → SelectableChannel → Channel
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def close(implicit trace: Trace): IO[IOException, Unit]
Closes this channel.
Closes this channel.
- Definition Classes
- Channel → IOCloseable
- final def configureBlocking(block: Boolean)(implicit trace: Trace): IO[IOException, Unit]
- Definition Classes
- SelectableChannel
- def disconnect(implicit trace: Trace): IO[IOException, Unit]
Disconnects this channel's underlying socket.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def flatMapBlocking[R, E >: IOException, A](f: (BlockingOps) => ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]
Puts this channel in blocking mode (if applicable) and performs a set of blocking operations.
Puts this channel in blocking mode (if applicable) and performs a set of blocking operations. Uses the standard ZIO
Blocking
service to run the provided effect on the blocking thread pool. Installs interrupt handling so that if the ZIO fiber is interrupted, this channel will be closed, which will unblock any currently blocked operations.- f
Given a
BlockingOps
argument appropriate for this channel type, produces an effect value containing blocking operations.
- Definition Classes
- SelectableChannel → BlockingChannel
- final def flatMapNonBlocking[R, E >: IOException, A](f: (NonBlockingOps) => ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]
Puts this channel into non-blocking mode and performs a set of non-blocking operations.
Puts this channel into non-blocking mode and performs a set of non-blocking operations.
- f
Uses the
NonBlockingOps
appropriate for this channel type to produce non-blocking effects.
- Definition Classes
- SelectableChannel
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isBlocking(implicit trace: Trace): UIO[Boolean]
- Definition Classes
- SelectableChannel
- def isConnected(implicit trace: Trace): UIO[Boolean]
Tells whether this channel's underlying socket is both open and connected.
Tells whether this channel's underlying socket is both open and connected.
- returns
true
when the socket is both open and connected, otherwisefalse
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def isOpen(implicit trace: Trace): UIO[Boolean]
Tells whether or not this channel is open.
Tells whether or not this channel is open.
- Definition Classes
- Channel
- final def isRegistered(implicit trace: Trace): UIO[Boolean]
- Definition Classes
- SelectableChannel
- final def keyFor(sel: Selector)(implicit trace: Trace): UIO[Option[SelectionKey]]
- Definition Classes
- SelectableChannel
- def localAddress(implicit trace: Trace): IO[IOException, Option[SocketAddress]]
Optionally returns the socket address that this channel's underlying socket is bound to.
Optionally returns the socket address that this channel's underlying socket is bound to.
- returns
the local address if the socket is bound, otherwise
None
- def makeBlockingOps: BlockingDatagramOps
- Attributes
- protected
- Definition Classes
- DatagramChannel → SelectableChannel
- def makeNonBlockingOps: NonBlockingDatagramOps
- Attributes
- protected
- Definition Classes
- DatagramChannel → SelectableChannel
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def nioBlocking[R, E, A](zioEffect: ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]
- Attributes
- protected
- Definition Classes
- BlockingChannel
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def provider(implicit trace: Trace): UIO[SelectorProvider]
- Definition Classes
- SelectableChannel
- final def register(selector: Selector, ops: Set[Operation] = Set.empty, attachment: Option[AnyRef] = None)(implicit trace: Trace): IO[ClosedChannelException, SelectionKey]
Registers this channel with the given selector, returning a selection key.
Registers this channel with the given selector, returning a selection key.
- selector
The selector to register with.
- ops
The key's interest set will be created with these operations.
- attachment
The object to attach to the key, if any.
- returns
The new
SelectionKey
.
- Definition Classes
- SelectableChannel
- def remoteAddress(implicit trace: Trace): IO[IOException, Option[SocketAddress]]
Optionally returns the remote socket address that this channel's underlying socket is connected to.
Optionally returns the remote socket address that this channel's underlying socket is connected to.
- returns
the remote address if the socket is connected, otherwise
None
- def setOption[T](name: SocketOption[T], value: T)(implicit trace: Trace): IO[IOException, Unit]
Sets the value of the given socket option.
Sets the value of the given socket option.
- name
the socket option to be set
- value
the value to be set
- def socket(implicit trace: Trace): UIO[DatagramSocket]
Returns a reference to this channel's underlying datagram socket.
Returns a reference to this channel's underlying datagram socket.
- returns
the underlying datagram socket
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def validOps(implicit trace: Trace): UIO[Set[Operation]]
- Definition Classes
- SelectableChannel
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()