Packages

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]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZHub
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def awaitShutdown: UIO[Unit]

    Waits for the hub to be shut down.

  2. abstract def capacity: Int

    The maximum capacity of the hub.

  3. abstract def isShutdown: UIO[Boolean]

    Checks whether the hub is shut down.

  4. abstract def publish(a: A): ZIO[RA, EA, Boolean]

    Publishes a message to the hub, returning whether the message was published to the hub.

  5. 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.

  6. abstract def shutdown: UIO[Unit]

    Shuts down the hub.

  7. abstract def size: UIO[Int]

    The current number of messages in the hub.

  8. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def contramap[C](f: (C) => A): ZHub[RA, RB, EA, EB, C, B]

    Transforms messages published to the hub using the specified function.

  7. 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.

  8. 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.

  9. 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.

  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. 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.

  13. 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.

  14. final def filterOutput(f: (B) => Boolean): ZHub[RA, RB, EA, EB, A, B]

    Filters messages taken from the hub using the specified function.

  15. 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.

  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def map[C](f: (B) => C): ZHub[RA, RB, EA, EB, A, C]

    Transforms messages taken from the hub using the specified function.

  21. 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.

  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. final def toQueue: ZEnqueue[RA, EA, A]

    Views the hub as a queue that can only be written to.

  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped