abstract class Queue[F[_], A] extends QueueSource[F, A] with QueueSink[F, A]
A purely functional, concurrent data structure which allows insertion and retrieval of
elements of type A in a first-in-first-out (FIFO) manner.
Depending on the type of queue constructed, the Queue#offer operation can block semantically until sufficient capacity in the queue becomes available.
The Queue#take operation semantically blocks when the queue is empty.
The Queue#tryOffer and Queue#tryTake allow for usecases which want to avoid fiber blocking a fiber.
- Self Type
- Queue[F, A]
- Source
- Queue.scala
- Alphabetic
- By Inheritance
- Queue
- QueueSink
- QueueSource
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
-  new Queue()
Abstract Value Members
-   abstract  def offer(a: A): F[Unit]Enqueues the given element at the back of the queue, possibly fiber blocking until sufficient capacity becomes available. Enqueues the given element at the back of the queue, possibly fiber blocking until sufficient capacity becomes available. - a
- the element to be put at the back of the queue 
 - Definition Classes
- QueueSink
 
-   abstract  def size: F[Int]- Definition Classes
- QueueSource
 
-   abstract  def take: F[A]Dequeues an element from the front of the queue, possibly fiber blocking until an element becomes available. Dequeues an element from the front of the queue, possibly fiber blocking until an element becomes available. - Definition Classes
- QueueSource
 
-   abstract  def tryOffer(a: A): F[Boolean]Attempts to enqueue the given element at the back of the queue without semantically blocking. Attempts to enqueue the given element at the back of the queue without semantically blocking. - a
- the element to be put at the back of the queue 
- returns
- an effect that describes whether the enqueuing of the given element succeeded without blocking 
 - Definition Classes
- QueueSink
 
-   abstract  def tryTake: F[Option[A]]Attempts to dequeue an element from the front of the queue, if one is available without fiber blocking. Attempts to dequeue an element from the front of the queue, if one is available without fiber blocking. - returns
- an effect that describes whether the dequeueing of an element from the queue succeeded without blocking, with - Nonedenoting that no element was available
 - Definition Classes
- QueueSource
 
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(classOf[java.lang.CloneNotSupportedException]) @native()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-    def mapK[G[_]](f: ~>[F, G]): Queue[G, A]Modifies the context in which this queue is executed using the natural transformation f.Modifies the context in which this queue is executed using the natural transformation f.- returns
- a queue in the new context obtained by mapping the current one using - f
 
-   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
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-    def tryOfferN(list: List[A])(implicit F: Monad[F]): F[List[A]]Attempts to enqueue the given elements at the back of the queue without semantically blocking. Attempts to enqueue the given elements at the back of the queue without semantically blocking. If an item in the list cannot be enqueued, the remaining elements will be returned. This is a convenience method that recursively runs tryOfferand does not offer any additional performance benefits.- list
- the elements to be put at the back of the queue 
- returns
- an effect that contains the remaining valus that could not be offered. 
 - Definition Classes
- QueueSink
 
-    def tryTakeN(maxN: Option[Int])(implicit F: Monad[F]): F[List[A]]Attempts to dequeue elements from the front of the queue, if they are available without semantically blocking. Attempts to dequeue elements from the front of the queue, if they are available without semantically blocking. This method does not guarantee any additional performance benefits beyond simply recursively calling tryTake, though some implementations will provide a more efficient implementation. - maxN
- The max elements to dequeue. Passing - Nonewill try to dequeue the whole queue.
- returns
- an effect that contains the dequeued elements 
 - Definition Classes
- QueueSource
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()