ox.channels
package ox.channels
Members list
Type members
Classlikes
class BufferedChannel[T](capacity: Int) extends Channel[T]
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class BufferedChannel[T]class DirectChannel[T]
object Channel
object ChannelClosed
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ChannelClosed.type
enum ChannelClosedException(reason: Option[Throwable]) extends Exception
class CollectSource[T, U](s: Source[T], f: T => Option[U]) extends Source[U]
case class Default[T](value: T) extends SelectClause[T]
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SelectClause[T]class Objecttrait Matchableclass AnyShow all
case class DefaultResult[T](value: T) extends SelectResult[T]
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait SelectResult[T]class Objecttrait Matchableclass AnyShow all
class DirectChannel[T] extends Channel[T]
A channel with capacity 0, requiring that senders & receivers meet to exchange a value.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Supertypes
- Known subtypes
Attributes
- Companion
- object
- Supertypes
- Known subtypes
object Source extends SourceCompanionOps
Attributes
trait SourceCompanionOps
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object Source.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
- Self type
-
Source[T]
object StageCapacity
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
StageCapacity.type
trait Stateful
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Sink[T]trait Channel[T]class BufferedChannel[T]class DirectChannel[T]trait Source[T]Show all
Types
Value members
Concrete methods
def cleanupCell[T](from: List[SelectClause[T]], cell: Cell[T], alsoWhenSingleClause: Boolean): Boolean
Attributes
- Returns
-
true
if the cell was removed from all queues;false
if there was at least one queue, from which the cell was absent
def offerAndTrySatisfy[T](ccs: List[SelectClause[T]], c: Cell[T], allDone: Boolean, offeredTo: List[SelectClause[T]]): (Unit | ChannelClosed, List[SelectClause[T]])
def select(clause1: SelectClause[_], clause2: SelectClause[_], clause3: SelectClause[_]): Result | Result | Result | ChannelClosed
def select[T1, T2, T3](source1: Source[T1], source2: Source[T2], source3: Source[T3]): T1 | T2 | T3 | ChannelClosed
The select is biased towards the clauses first on the list. To ensure fairness, you might want to randomize the clause order using
The select is biased towards the clauses first on the list. To ensure fairness, you might want to randomize the clause order using
Random.shuffle(clauses)
.
Attributes
def trySatisfyNow[T](ccs: List[SelectClause[T]], c: Cell[T], allDone: Boolean): Boolean | (ChannelClosed, Boolean)
Attributes
- Returns
-
true
if the cell has been (immediately) satisfied (without owning it).
Extensions
Extensions
In this article