class NonblockingSkipListVersionHistory[V, T <: (FullMvStateBundle.this)#FullMVTurn, InDep, OutDep] extends (FullMvStateBundle.this)#FullMVState[V, T, InDep, OutDep]

A node version history datastructure

V

the type of stored values

T

the type of transactions

InDep

the type of incoming dependency nodes

OutDep

the type of outgoing dependency nodes

Linear Supertypes
(FullMvStateBundle.this)#FullMVState[V, T, InDep, OutDep], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NonblockingSkipListVersionHistory
  2. FullMVState
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new NonblockingSkipListVersionHistory(init: T, valuePersistency: V)

    init

    the initial creating transaction

    valuePersistency

    the value persistency descriptor

Type Members

  1. final class QueuedVersion extends LinkWithCounters[QueuedVersion]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def casLatestStable(from: QueuedVersion, to: QueuedVersion): Unit
    Attributes
    protected
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  7. def discover(txn: T, add: OutDep): (List[T], Option[T])

    entry point for discover(this, add).

    entry point for discover(this, add). May suspend.

    txn

    the executing reevaluation's transaction

    add

    the new edge's sink node

    returns

    the appropriate Version.value.

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  8. def drop(txn: T, remove: OutDep): (List[T], Option[T])

    entry point for drop(this, ticket.issuer); may suspend temporarily.

    entry point for drop(this, ticket.issuer); may suspend temporarily.

    txn

    the executing reevaluation's transaction

    remove

    the removed edge's sink node

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  9. def dynamicAfter(txn: T): V

    entry point for after(this); may suspend.

    entry point for after(this); may suspend.

    txn

    the executing transaction

    returns

    the corresponding value from after this transaction, i.e., awaiting and returning the transaction's own write if one has occurred or will occur.

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  10. def dynamicBefore(txn: T): V

    entry point for before(this); may suspend.

    entry point for before(this); may suspend.

    txn

    the executing transaction

    returns

    the corresponding value from before this transaction, i.e., ignoring the transaction's own writes.

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. var firstFrame: QueuedVersion

    pointer that reflects, which firstFrame is currently communicated to all successor nodes.

    pointer that reflects, which firstFrame is currently communicated to all successor nodes. writes are sequentialized and synchronized with outgoings changes through the object monitor (this.synchronized)

  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. val host: (FullMvStateBundle.this)#FullMVEngine
  17. val incomings: Set[InDep]
    Definition Classes
    FullMVState
  18. def incrementFrame(txn: T): FramingBranchResult[T, OutDep]

    entry point for regular framing

    entry point for regular framing

    txn

    the transaction visiting the node for framing

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  19. def incrementSupersedeFrame(txn: T, supersede: T): FramingBranchResult[T, OutDep]

    entry point for superseding framing

    entry point for superseding framing

    txn

    the transaction visiting the node for framing

    supersede

    the transaction whose frame was superseded by the visiting transaction at the previous node

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. val laggingLatestStable: AtomicReference[QueuedVersion]
  22. var latestValue: V
  23. var lazyPeriodicGC: QueuedVersion

    a pointer to some random version at or behind latestStable, used for periodic O(1) gc support accesses are executed only inside reevOut, and are therefore sequential by nature.

  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. def notify(txn: T, changed: Boolean): (Boolean, NotificationBranchResult[T, OutDep])

    entry point for change/nochange notification reception

    entry point for change/nochange notification reception

    txn

    the transaction sending the notification

    changed

    whether or not the dependency changed

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  28. def notifyFollowFrame(txn: T, changed: Boolean, followFrame: T): (Boolean, NotificationBranchResult[T, OutDep])

    entry point for change/nochange notification reception with follow-up framing

    entry point for change/nochange notification reception with follow-up framing

    txn

    the transaction sending the notification

    changed

    whether or not the dependency changed

    followFrame

    a transaction for which to create a subsequent frame, furthering its partial framing.

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  29. var outgoings: Set[OutDep]

    successor nodes that are currently sbuscribed for cange notifications.

    successor nodes that are currently sbuscribed for cange notifications. accesses are sequentialized and synchronized with firstFrame changes through the object monitor (this.synchronized)

  30. def reevIn(txn: T): V
  31. def reevOut(turn: T, maybeValue: Option[V], unchange: (V) => V): ReevOutBranchResult[T, OutDep]

    progress firstFrame forward until a Version.isFrame is encountered, and return the resulting notification out (with reframing if subsequent write is found).

    progress firstFrame forward until a Version.isFrame is encountered, and return the resulting notification out (with reframing if subsequent write is found).

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  32. def retrofitSinkFrames(successorWrittenVersions: Seq[T], maybeSuccessorFrame: Option[T], arity: Int): Seq[T]

    performs the reframings on the sink of a discover(n, this) with arity +1, or drop(n, this) with arity -1

    performs the reframings on the sink of a discover(n, this) with arity +1, or drop(n, this) with arity -1

    successorWrittenVersions

    the reframings to perform for successor written versions

    maybeSuccessorFrame

    maybe a reframing to perform for the first successor frame

    arity

    +1 for discover adding frames, -1 for drop removing frames.

    Definition Classes
    NonblockingSkipListVersionHistoryFullMVState
  33. def staticAfter(txn: T): V
  34. def staticBefore(txn: T): V
  35. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  36. def toString(): String
    Definition Classes
    NonblockingSkipListVersionHistory → AnyRef → Any
  37. val valuePersistency: V
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from (FullMvStateBundle.this)#FullMVState[V, T, InDep, OutDep]

Inherited from AnyRef

Inherited from Any

Ungrouped