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
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
awaitShutdown(implicit trace: ZTraceElement): UIO[Unit]
Waits for the hub to be shut down.
-
abstract
def
capacity: Int
The maximum capacity of the hub.
-
abstract
def
isShutdown(implicit trace: ZTraceElement): UIO[Boolean]
Checks whether the hub is shut down.
-
abstract
def
publish(a: A)(implicit trace: ZTraceElement): 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])(implicit trace: ZTraceElement): ZIO[RA, EA, Boolean]
Publishes all of the specified messages to the hub, returning whether they were published to the hub.
-
abstract
def
shutdown(implicit trace: ZTraceElement): UIO[Unit]
Shuts down the hub.
-
abstract
def
size(implicit trace: ZTraceElement): UIO[Int]
The current number of messages in the hub.
-
abstract
def
subscribe(implicit trace: ZTraceElement): 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( ... ) @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
contramapZIO[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
dimapZIO[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: Any): 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
filterInputZIO[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
filterOutputZIO[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[_]
- 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
mapZIO[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( ... )
-
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()
Deprecated Value Members
-
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.
Transforms messages published to the hub using the specified effectual function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use contramapZIO
-
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.
Transforms messages published to and taken from the hub using the specified effectual functions.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use dimapZIO
-
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.
Filters messages published to the hub using the specified effectual function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use filterInputZIO
-
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.
Filters messages taken from the hub using the specified effectual function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use filterOutputZIO
-
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.
Transforms messages taken from the hub using the specified effectual function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use mapZIO