abstract class Hub[A] extends Enqueue[A]

A Hub is an asynchronous message hub. Publishers can offer messages to the hub and subscribers can subscribe to take messages from the hub.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Hub
  2. Enqueue
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Hub()

Abstract Value Members

  1. abstract def awaitShutdown(implicit trace: Trace): UIO[Unit]

    Waits until the queue is shutdown.

    Waits until the queue is shutdown. The IO returned by this method will not resume until the queue has been shutdown. If the queue is already shutdown, the IO will resume right away.

    Definition Classes
    Enqueue
  2. abstract def capacity: Int

    How many elements can hold in the queue

    How many elements can hold in the queue

    Definition Classes
    Enqueue
  3. abstract def isShutdown(implicit trace: Trace): UIO[Boolean]

    true if shutdown has been called.

    true if shutdown has been called.

    Definition Classes
    Enqueue
  4. abstract def publish(a: A)(implicit trace: Trace): UIO[Boolean]

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

  5. abstract def publishAll[A1 <: A](as: Iterable[A1])(implicit trace: Trace): UIO[Chunk[A1]]

    Publishes all of the specified messages to the hub, returning any messages that were not published to the hub.

  6. abstract def shutdown(implicit trace: Trace): UIO[Unit]

    Interrupts any fibers that are suspended on offer or take.

    Interrupts any fibers that are suspended on offer or take. Future calls to offer* and take* will be interrupted immediately.

    Definition Classes
    Enqueue
  7. abstract def size(implicit trace: Trace): UIO[Int]

    Retrieves the size of the queue, which is equal to the number of elements in the queue.

    Retrieves the size of the queue, which is equal to the number of elements in the queue. This may be negative if fibers are suspended waiting for elements to be added to the queue.

    Definition Classes
    Enqueue
  8. abstract def subscribe(implicit trace: Trace): ZIO[Scope, Nothing, Dequeue[A]]

    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.

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 eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isEmpty(implicit trace: Trace): UIO[Boolean]

    Checks whether the queue is currently empty.

    Checks whether the queue is currently empty.

    Definition Classes
    HubEnqueue
  12. final def isFull(implicit trace: Trace): UIO[Boolean]

    Checks whether the queue is currently full.

    Checks whether the queue is currently full.

    Definition Classes
    HubEnqueue
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def offer(a: A)(implicit trace: Trace): UIO[Boolean]

    Places one value in the queue.

    Places one value in the queue.

    Definition Classes
    HubEnqueue
  18. final def offerAll[A1 <: A](as: Iterable[A1])(implicit trace: Trace): UIO[Chunk[A1]]

    For Bounded Queue: uses the BackPressure Strategy, places the values in the queue and always returns no leftovers.

    For Bounded Queue: uses the BackPressure Strategy, places the values in the queue and always returns no leftovers. If the queue has reached capacity, then the fiber performing the offerAll will be suspended until there is room in the queue.

    For Unbounded Queue: Places all values in the queue and returns no leftovers.

    For Sliding Queue: uses Sliding Strategy If there is room in the queue, it places the values otherwise it removes the old elements and enqueues the new ones. Always returns no leftovers.

    For Dropping Queue: uses Dropping Strategy, It places the values in the queue but if there is no room it will not enqueue them and return the leftovers.

    Definition Classes
    HubEnqueue
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Enqueue[A]

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped