final class Node extends ManagedBlocker
Queue nodes. Uses Object, not E, for items to allow forgetting them after use. Writes that are intrinsically ordered wrt other accesses or CASes use simple relaxed forms.
- Annotations
- @SerialVersionUID()
- Alphabetic
- By Inheritance
- Node
- ManagedBlocker
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Node()
Constructs a (matched data) dummy node.
- new Node(item: AnyRef)
Constructs a data node holding item if item is non-null, else a request node.
Constructs a data node holding item if item is non-null, else a request node. Uses relaxed write because item can only be seen after piggy-backing publication via CAS.
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
- def appendRelaxed(next: Node): Unit
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def block(): Boolean
- Definition Classes
- Node → ManagedBlocker
- def cannotPrecede(haveData: Boolean): Boolean
Returns true if a node with the given mode cannot be appended to this node because this node is unmatched and has opposite data mode.
- def casItem(cmp: AnyRef, val: AnyRef): Boolean
- def casNext(cmp: Node, val: Node): Boolean
- 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()
- val isData: Boolean
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isMatched(): Boolean
Returns true if this node has been matched, including the case of artificial matches due to cancellation.
- def isReleasable(): Boolean
- Definition Classes
- Node → ManagedBlocker
- var item: AnyRef
- val itemAtomic: AtomicRef[AnyRef]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- var next: Node
- val nextAtomic: AtomicRef[Node]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def selfLink(): Unit
Links node to itself to avoid garbage retention.
Links node to itself to avoid garbage retention. Called only after CASing head field, so uses relaxed write.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tryMatch(cmp: AnyRef, val: AnyRef): Boolean
Tries to CAS-match this node; if successful, wakes waiter.
- 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()
- var waiter: Thread
- val waiterAtomic: AtomicRef[AnyRef]