sealed abstract class ZTHub[-RA, -RB, +EA, +EB, -A, +B] extends Serializable
A ZTHub[RA, RB, EA, EB, A, B]
is a transactional message hub. Publishers
can publish messages of type A
to the hub and subscribers can subscribe to
take messages of type B
from the hub. Publishing messages can require an
environment of type RA
and fail with an error of type EA
. Taking messages
can require an environment of type RB
and fail with an error of type EB
.
- Self Type
- ZTHub[RA, RB, EA, EB, A, B]
- Alphabetic
- By Inheritance
- ZTHub
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def capacity: Int
The maximum capacity of the hub.
- abstract def isShutdown: USTM[Boolean]
Checks whether the hub is shut down.
- abstract def publish(a: A): ZSTM[RA, EA, Boolean]
Publishes a message to the hub, returning whether the message was published to the hub.
- abstract def publishAll(as: Iterable[A]): ZSTM[RA, EA, Boolean]
Publishes all of the specified messages to the hub, returning whether they were published to the hub.
- abstract def shutdown: USTM[Unit]
Shuts down the hub.
- abstract def size: USTM[Int]
The current number of messages in the hub.
- abstract def subscribe: USTM[ZTDequeue[RB, EB, B]]
Subscribes to receive messages from the hub.
Subscribes to receive messages from the hub. The resulting subscription can be evaluated multiple times to take a message from the hub each time. The caller is responsible for unsubscribing from the hub by shutting down the queue.
Concrete 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
- final def awaitShutdown: USTM[Unit]
Waits for the hub to be shut down.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def contramap[C](f: (C) => A): ZTHub[RA, RB, EA, EB, C, B]
Transforms messages published to the hub using the specified function.
- final def contramapSTM[RC <: RA, EC >: EA, C](f: (C) => ZSTM[RC, EC, A]): ZTHub[RC, RB, EC, EB, C, B]
Transforms messages published to the hub using the specified transactional function.
- final def dimap[C, D](f: (C) => A, g: (B) => D): ZTHub[RA, RB, EA, EB, C, D]
Transforms messages published to and taken from the hub using the specified functions.
- final def dimapSTM[RC <: RA, RD <: RB, EC >: EA, ED >: EB, C, D](f: (C) => ZSTM[RC, EC, A], g: (B) => ZSTM[RD, ED, D]): ZTHub[RC, RD, EC, ED, C, D]
Transforms messages published to and taken from the hub using the specified transactional functions.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def filterInput[A1 <: A](f: (A1) => Boolean): ZTHub[RA, RB, EA, EB, A1, B]
Filters messages published to the hub using the specified function.
- final def filterInputSTM[RA1 <: RA, EA1 >: EA, A1 <: A](f: (A1) => ZSTM[RA1, EA1, Boolean]): ZTHub[RA1, RB, EA1, EB, A1, B]
Filters messages published to the hub using the specified transactional function.
- final def filterOutput(f: (B) => Boolean): ZTHub[RA, RB, EA, EB, A, B]
Filters messages taken from the hub using the specified function.
- final def filterOutputSTM[RB1 <: RB, EB1 >: EB](f: (B) => ZSTM[RB1, EB1, Boolean]): ZTHub[RA, RB1, EA, EB1, A, B]
Filters messages taken from the hub using the specified transactional function.
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[C](f: (B) => C): ZTHub[RA, RB, EA, EB, A, C]
Transforms messages taken from the hub using the specified function.
- final def mapSTM[RC <: RB, EC >: EB, C](f: (B) => ZSTM[RC, EC, C]): ZTHub[RA, RC, EA, EC, A, C]
Transforms messages taken from the hub using the specified transactional function.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def subscribeManaged(implicit trace: ZTraceElement): ZManaged[Any, Nothing, ZTDequeue[RB, EB, B]]
Subscribes to receive messages from the hub.
Subscribes to receive messages from the hub. The resulting subscription can be evaluated multiple times within the scope of the managed to take a message from the hub each time.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def toTQueue: ZTEnqueue[RA, EA, A]
Views the hub as a transactional queue that can only be written to.
- 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()