trait PQueueSource[F[_], A] extends AnyRef
- Alphabetic
- By Inheritance
- PQueueSource
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def size: F[Int]
- abstract def take: F[A]
Dequeues the least element from the PQueue, possibly fiber blocking until an element becomes available.
Dequeues the least element from the PQueue, possibly fiber blocking until an element becomes available.
O(log(n))
Note: If there are multiple elements with least priority, the order in which they are dequeued is undefined. If you want to break ties with FIFO order you will need an additional
Ref[F, Long]
to track insertion, and embed that information into your instance forOrder[A]
. - abstract def tryTake: F[Option[A]]
Attempts to dequeue the least element from the PQueue, if one is available without fiber blocking.
Attempts to dequeue the least element from the PQueue, if one is available without fiber blocking.
O(log(n))
- returns
an effect that describes whether the dequeueing of an element from the PQueue succeeded without blocking, with
None
denoting that no element was available Note: If there are multiple elements with least priority, the order in which they are dequeued is undefined. If you want to break ties with FIFO order you will need an additionalRef[F, Long]
to track insertion, and embed that information into your instance forOrder[A]
.
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
- 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 tryTakeN(maxN: Option[Int])(implicit F: Monad[F]): F[List[A]]
Attempts to dequeue elements from the PQueue, if they are available without semantically blocking.
Attempts to dequeue elements from the PQueue, if they are available without semantically blocking. This is a convenience method that recursively runs
tryTake
. It does not provide any additional performance benefits.- maxN
The max elements to dequeue. Passing
None
will try to dequeue the whole queue.- returns
an effect that contains the dequeued elements from the PQueue Note: If there are multiple elements with least priority, the order in which they are dequeued is undefined.
- 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()