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: 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()