DirectChannel

ox.channels.DirectChannel
class DirectChannel[T] extends Channel[T]

A channel with capacity 0, requiring that senders & receivers meet to exchange a value.

Attributes

Graph
Supertypes
trait Channel[T]
trait Sink[T]
trait Source[T]
trait SourceOps[T]
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

override def done(): ChannelResult[Unit]

Completes the channel with a "done" state.

Completes the channel with a "done" state.

Any elements that have been sent can be received. After that, receivers will learn that the channel is done.

No new elements can be sent to this channel. Sending will end with a ChannelClosedException.Done exception.

Attributes

Note:

If a send is ran concurrently with done, it can happen that a receiver first learns that the channel is done, and then it can receive the element that was sent concurrently.

Definition Classes
override def error(reason: Option[Exception]): ChannelResult[Unit]

Attributes

Definition Classes

Inherited methods

def concat[U >: T](capacity: Int)(other: Source[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def concat[U >: T](other: Source[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def drain(): Unit

Attributes

Inherited from:
SourceOps
def error(reason: Exception): ChannelResult[Unit]

Attributes

Inherited from:
Sink
def error(): ChannelResult[Unit]

Attributes

Inherited from:
Sink
def filter(capacity: Int)(f: T => Boolean)(using Ox): Source[T]

Attributes

Inherited from:
SourceOps
def filter(f: T => Boolean)(using Ox): Source[T]

Attributes

Inherited from:
SourceOps
def foreach(f: T => Unit): Unit

Attributes

Inherited from:
SourceOps
def map[U](capacity: Int)(f: T => U)(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def map[U](f: T => U)(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def merge[U >: T](capacity: Int)(other: Source[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def merge[U >: T](other: Source[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def pipeTo(sink: Sink[T]): Unit

Attributes

Inherited from:
SourceOps
override def receive(): ChannelResult[T]

Attributes

Definition Classes
Inherited from:
Channel
def send(t: T): ChannelResult[Unit]

Attributes

Inherited from:
Sink
def take(capacity: Int)(n: Int)(using Ox): Source[T]

Attributes

Inherited from:
SourceOps
def take(n: Int)(using Ox): Source[T]

Attributes

Inherited from:
SourceOps
def toList: List[T]

Attributes

Inherited from:
SourceOps
def transform[U](capacity: Int)(f: Iterator[T] => Iterator[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def transform[U](f: Iterator[T] => Iterator[U])(using Ox): Source[U]

Attributes

Inherited from:
SourceOps
def zip[U](capacity: Int)(other: Source[U])(using Ox): Source[(T, U)]

Attributes

Inherited from:
SourceOps
def zip[U](other: Source[U])(using Ox): Source[(T, U)]

Attributes

Inherited from:
SourceOps