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
Show all

Members list

Type members

Classlikes

case class DirectSend(v: T) extends Send

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Send
trait SelectClause[Unit]
class Object
trait Matchable
class Any
Show all

Inherited classlikes

case class Receive extends SelectClause[T]

Attributes

Inherited from:
Source
Supertypes
trait Serializable
trait Product
trait Equals
trait SelectClause[T]
class Object
trait Matchable
class Any
Show all
case class Received extends SelectResult[T]

Attributes

Inherited from:
Source
Supertypes
trait Serializable
trait Product
trait Equals
trait SelectResult[T]
class Object
trait Matchable
class Any
Show all
sealed trait Send extends SelectClause[Unit]

Attributes

Inherited from:
Sink
Supertypes
trait SelectClause[Unit]
class Object
trait Matchable
class Any
Known subtypes
class BufferedSend
class DirectSend
case class Sent extends SelectResult[Unit]

Attributes

Inherited from:
Sink
Supertypes
trait Serializable
trait Product
trait Equals
trait SelectResult[Unit]
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

override def done(): Unit | ChannelClosed

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]): Unit | ChannelClosed

Attributes

Definition Classes
override def sendClause(v: T): Send

Attributes

Definition Classes

Inherited methods

def collectAsView[U](f: PartialFunction[T, U]): Source[U]

Attributes

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

Attributes

Inherited from:
SourceOps
def drain(): Unit

Attributes

Inherited from:
SourceOps
def error(reason: Exception): Unit | ChannelClosed

Attributes

Inherited from:
Sink
def error(): Unit | ChannelClosed

Attributes

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

Attributes

Inherited from:
SourceOps
def filterAsView(f: T => Boolean): Source[T]

Attributes

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

Attributes

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

Attributes

Inherited from:
SourceOps
def mapAsView[U](f: T => U): Source[U]

Attributes

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

Attributes

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

Attributes

Inherited from:
SourceOps
override def receive(): T | ChannelClosed

Attributes

Definition Classes
Inherited from:
Channel
override def send(v: T): Unit | ChannelClosed

Attributes

Definition Classes
Inherited from:
Channel
def take(n: Int)(using Ox, StageCapacity): Source[T]

Attributes

Inherited from:
SourceOps
def toList: List[T]

Attributes

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

Attributes

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

Attributes

Inherited from:
SourceOps

Inherited fields

Attributes

Inherited from:
Source