sealed abstract class ZHub[-RA, -RB, +EA, +EB, -A, +B] extends Serializable
A ZHub[RA, RB, EA, EB, A, B]
is an asynchronous 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
- ZHub[RA, RB, EA, EB, A, B]
- Alphabetic
- By Inheritance
- ZHub
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def awaitShutdown: UIO[Unit]
Waits for the hub to be shut down.
- abstract def capacity: Int
The maximum capacity of the hub.
- abstract def isShutdown: UIO[Boolean]
Checks whether the hub is shut down.
- abstract def publish(a: A): ZIO[RA, EA, Boolean]
Publishes a message to the hub, returning whether the message was published to the hub.
- abstract def publishAll(as: Iterable[A]): ZIO[RA, EA, Boolean]
Publishes all of the specified messages to the hub, returning whether they were published to the hub.
- abstract def shutdown: UIO[Unit]
Shuts down the hub.
- abstract def size: UIO[Int]
The current number of messages in the hub.
- abstract def subscribe: ZManaged[Any, Nothing, ZDequeue[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.
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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def contramap[C](f: (C) => A): ZHub[RA, RB, EA, EB, C, B]
Transforms messages published to the hub using the specified function.
- final def contramapM[RC <: RA, EC >: EA, C](f: (C) => ZIO[RC, EC, A]): ZHub[RC, RB, EC, EB, C, B]
Transforms messages published to the hub using the specified effectual function.
- final def dimap[C, D](f: (C) => A, g: (B) => D): ZHub[RA, RB, EA, EB, C, D]
Transforms messages published to and taken from the hub using the specified functions.
- final def dimapM[RC <: RA, RD <: RB, EC >: EA, ED >: EB, C, D](f: (C) => ZIO[RC, EC, A], g: (B) => ZIO[RD, ED, D]): ZHub[RC, RD, EC, ED, C, D]
Transforms messages published to and taken from the hub using the specified effectual 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): ZHub[RA, RB, EA, EB, A1, B]
Filters messages published to the hub using the specified function.
- final def filterInputM[RA1 <: RA, EA1 >: EA, A1 <: A](f: (A1) => ZIO[RA1, EA1, Boolean]): ZHub[RA1, RB, EA1, EB, A1, B]
Filters messages published to the hub using the specified effectual function.
- final def filterOutput(f: (B) => Boolean): ZHub[RA, RB, EA, EB, A, B]
Filters messages taken from the hub using the specified function.
- final def filterOutputM[RB1 <: RB, EB1 >: EB](f: (B) => ZIO[RB1, EB1, Boolean]): ZHub[RA, RB1, EA, EB1, A, B]
Filters messages taken from the hub using the specified effectual 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): ZHub[RA, RB, EA, EB, A, C]
Transforms messages taken from the hub using the specified function.
- final def mapM[RC <: RB, EC >: EB, C](f: (B) => ZIO[RC, EC, C]): ZHub[RA, RC, EA, EC, A, C]
Transforms messages taken from the hub using the specified effectual 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 synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def toQueue: ZEnqueue[RA, EA, A]
Views the hub as a queue that can only be written to.
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()