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
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @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: Any): 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[_]
- 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
subscribeScoped(implicit trace: ZTraceElement): ZIO[Scope, 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 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()