|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.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 | |||||||||