class AsyncQueue[T] extends AnyRef
An asynchronous FIFO queue. In addition to providing offer and poll, the queue can be failed, flushing current pollers.
- Note
thread safety is enforced via the intrinsic lock on
this
which must be acquired for any subclasses which want to serialize operations.
- Alphabetic
- By Inheritance
- AsyncQueue
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AsyncQueue()
An asynchronous, unbounded, FIFO queue.
- new AsyncQueue(maxPendingOffers: Int)
- maxPendingOffers
optional limit on the number of pending
offers
. The default is unbounded, but any other positive value can be used to limit the max queue size. Note thatInt.MaxValue
is used to denote unbounded.
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 drain(): Try[Queue[T]]
Drains any pending elements into a
Try[Queue]
.Drains any pending elements into a
Try[Queue]
.If the queue has been failed and is now empty, a
Throw
of the exception used to fail will be returned. Otherwise, return aReturn(Queue)
of the pending elements. - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fail(exc: Throwable, discard: Boolean): Unit
Fail the queue.
Fail the queue. When
discard
is true, the queue contents is discarded and all pollers are failed immediately. When this flag is false, subsequent pollers are not failed until the queue becomes empty.No new elements are admitted to the queue after it has been failed.
- final def fail(exc: Throwable): Unit
Fail the queue: current and subsequent pollers will be completed with the given exception; any outstanding messages are discarded.
- 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
- 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()
- def offer(elem: T): Boolean
Insert the given element at the tail of the queue.
Insert the given element at the tail of the queue.
- returns
true
if the item was successfully added,false
otherwise.
- final def poll(): Future[T]
Retrieves and removes the head of the queue, completing the returned future when the element is available.
- final def size: Int
Returns the current number of pending elements.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AsyncQueue → AnyRef → Any
- 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()