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