|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.beanlib.util.concurrent.ConcurrentSkipListMap.Index<K,V>
static class ConcurrentSkipListMap.Index<K,V>
Index nodes represent the levels of the skip list. Note that even though both Nodes and Indexes have forward-pointing fields, they have different types and are handled in different ways, that can't nicely be captured by placing field in a shared abstract class.
Field Summary | |
---|---|
(package private) ConcurrentSkipListMap.Index<K,V> |
down
|
(package private) ConcurrentSkipListMap.Node<K,V> |
node
|
(package private) ConcurrentSkipListMap.Index<K,V> |
right
|
(package private) static AtomicReferenceFieldUpdater<ConcurrentSkipListMap.Index,ConcurrentSkipListMap.Index> |
rightUpdater
Updater for casRight |
Constructor Summary | |
---|---|
ConcurrentSkipListMap.Index(ConcurrentSkipListMap.Node<K,V> node,
ConcurrentSkipListMap.Index<K,V> down,
ConcurrentSkipListMap.Index<K,V> right)
Creates index node with given values. |
Method Summary | |
---|---|
(package private) boolean |
casRight(ConcurrentSkipListMap.Index<K,V> cmp,
ConcurrentSkipListMap.Index<K,V> val)
compareAndSet right field |
(package private) boolean |
indexesDeletedNode()
Returns true if the node this indexes has been deleted. |
(package private) boolean |
link(ConcurrentSkipListMap.Index<K,V> succ,
ConcurrentSkipListMap.Index<K,V> newSucc)
Tries to CAS newSucc as successor. |
(package private) boolean |
unlink(ConcurrentSkipListMap.Index<K,V> succ)
Tries to CAS right field to skip over apparent successor succ. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
final ConcurrentSkipListMap.Node<K,V> node
final ConcurrentSkipListMap.Index<K,V> down
volatile ConcurrentSkipListMap.Index<K,V> right
static final AtomicReferenceFieldUpdater<ConcurrentSkipListMap.Index,ConcurrentSkipListMap.Index> rightUpdater
Constructor Detail |
---|
ConcurrentSkipListMap.Index(ConcurrentSkipListMap.Node<K,V> node, ConcurrentSkipListMap.Index<K,V> down, ConcurrentSkipListMap.Index<K,V> right)
Method Detail |
---|
final boolean casRight(ConcurrentSkipListMap.Index<K,V> cmp, ConcurrentSkipListMap.Index<K,V> val)
final boolean indexesDeletedNode()
final boolean link(ConcurrentSkipListMap.Index<K,V> succ, ConcurrentSkipListMap.Index<K,V> newSucc)
succ
- the expected current successornewSucc
- the new successor
final boolean unlink(ConcurrentSkipListMap.Index<K,V> succ)
succ
- the expected current successor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |