Packages

trait ZQueue[-RA, -RB, +EA, +EB, -A, +B] extends Serializable

A ZQueue[RA, RB, EA, EB, A, B] is a lightweight, asynchronous queue into which values of type A can be enqueued and of which elements of type B can be dequeued. The queue's enqueueing operations may utilize an environment of type RA and may fail with errors of type EA. The dequeueing operations may utilize an environment of type RB and may fail with errors of type EB.

Self Type
ZQueue[RA, RB, EA, EB, A, B]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZQueue
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def awaitShutdown: 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.

  2. abstract def capacity: Int

    How many elements can hold in the queue

  3. abstract def isShutdown: UIO[Boolean]

    true if shutdown has been called.

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

    Places one value in the queue.

  5. abstract def offerAll(as: Iterable[A]): ZIO[RA, EA, Boolean]

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

    For Bounded Queue: uses the BackPressure Strategy, places the values in the queue and always returns true. 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 true.

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

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

  6. abstract def shutdown: 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.

  7. abstract def size: 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.

  8. abstract def take: ZIO[RB, EB, B]

    Removes the oldest value in the queue.

    Removes the oldest value in the queue. If the queue is empty, this will return a computation that resumes when an item has been added to the queue.

  9. abstract def takeAll: ZIO[RB, EB, List[B]]

    Removes all the values in the queue and returns the list of the values.

    Removes all the values in the queue and returns the list of the values. If the queue is empty returns empty list.

  10. abstract def takeUpTo(max: Int): ZIO[RB, EB, List[B]]

    Takes up to max number of values in the queue.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def &&[RA1 <: RA, RB1 <: RB, EA1 >: EA, EB1 >: EB, A1 <: A, C, D](that: ZQueue[RA1, RB1, EA1, EB1, A1, C]): ZQueue[RA1, RB1, EA1, EB1, A1, (B, C)]

    Alias for both.

  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. final def both[RA1 <: RA, RB1 <: RB, EA1 >: EA, EB1 >: EB, A1 <: A, C, D](that: ZQueue[RA1, RB1, EA1, EB1, A1, C]): ZQueue[RA1, RB1, EA1, EB1, A1, (B, C)]

    Like bothWith, but tuples the elements instead of applying a function.

  7. final def bothWith[RA1 <: RA, RB1 <: RB, EA1 >: EA, EB1 >: EB, A1 <: A, C, D](that: ZQueue[RA1, RB1, EA1, EB1, A1, C])(f: (B, C) ⇒ D): ZQueue[RA1, RB1, EA1, EB1, A1, D]

    Like bothWithM, but uses a pure function.

  8. final def bothWithM[RA1 <: RA, RB1 <: RB, R3 <: RB1, EA1 >: EA, EB1 >: EB, E3 >: EB1, A1 <: A, C, D](that: ZQueue[RA1, RB1, EA1, EB1, A1, C])(f: (B, C) ⇒ ZIO[R3, E3, D]): ZQueue[RA1, R3, EA1, E3, A1, D]

    Creates a new queue from this queue and another.

    Creates a new queue from this queue and another. Offering to the composite queue will broadcast the elements to both queues; taking from the composite queue will dequeue elements from both queues and apply the function point-wise.

    Note that using queues with different strategies may result in surprising behavior. For example, a dropping queue and a bounded queue composed together may apply f to different elements.

  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  10. final def contramap[C](f: (C) ⇒ A): ZQueue[RA, RB, EA, EB, C, B]

    Transforms elements enqueued into this queue with a pure function.

  11. final def contramapM[RA2 <: RA, EA2 >: EA, C](f: (C) ⇒ ZIO[RA2, EA2, A]): ZQueue[RA2, RB, EA2, EB, C, B]

    Transforms elements enqueued into this queue with an effectful function.

  12. final def dimap[C, D](f: (C) ⇒ A, g: (B) ⇒ D): ZQueue[RA, RB, EA, EB, C, D]

    Transforms elements enqueued into and dequeued from this queue with the specified effectual functions.

  13. 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]): ZQueue[RC, RD, EC, ED, C, D]

    Transforms elements enqueued into and dequeued from this queue with the specified effectual functions.

  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  16. final def filterInput[A1 <: A](f: (A1) ⇒ Boolean): ZQueue[RA, RB, EA, EB, A1, B]

    Applies a filter to elements enqueued into this queue.

    Applies a filter to elements enqueued into this queue. Elements that do not pass the filter will be immediately dropped.

  17. final def filterInputM[R2 <: RA, E2 >: EA, A1 <: A](f: (A1) ⇒ ZIO[R2, E2, Boolean]): ZQueue[R2, RB, E2, EB, A1, B]

    Like filterInput, but uses an effectful function to filter the elements.

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

    Transforms elements dequeued from this queue with a function.

  23. final def mapM[R2 <: RB, E2 >: EB, C](f: (B) ⇒ ZIO[R2, E2, C]): ZQueue[RA, R2, EA, E2, A, C]

    Transforms elements dequeued from this queue with an effectful function.

  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def poll: ZIO[RB, EB, Option[B]]

    Take the head option of values in the queue.

  28. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  29. final def takeBetween(min: Int, max: Int): ZIO[RB, EB, List[B]]

    Takes between min and max number of values from the queue.

    Takes between min and max number of values from the queue. If there is less than min items available, it'll block until the items are collected.

  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped