rx.core

Dynamic

class Dynamic[+T] extends Rx[T] with Reactor[Any] with Spinlock[T]

An Rx whose dependencies are set dynamically at runtime when calc is evaluated, and may change again any time it gets re-evaluated

Linear Supertypes
Spinlock[T], Incrementing[T], Rx[T], Reactor[Any], Emitter[T], Node, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Dynamic
  2. Spinlock
  3. Incrementing
  4. Rx
  5. Reactor
  6. Emitter
  7. Node
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Dynamic(calc: () ⇒ T, name: String = "")

Type Members

  1. class SpinState extends AnyRef

    Definition Classes
    Incrementing
  2. class State extends SpinState

    Attributes
    protected[this]
  3. type StateType = State

    Attributes
    protected[this]
    Definition Classes
    Dynamic → Incrementing

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. def alive: Boolean

    Whether or not this Reactor is currently alive.

    Whether or not this Reactor is currently alive. Only Reactors which are alive will receive updates and propagate changes.

    Definition Classes
    Reactor
  5. def ancestors: Set[Emitter[_]]

    All parents, parent's parents, etc.

    All parents, parent's parents, etc. recursively.

    Definition Classes
    Reactor
  6. def apply(): T

    Returns current value of this Rx.

    Returns current value of this Rx. If this is called within the body of another Rx, this will create a dependency between the two Rxs. If this Rx contains an exception, that exception gets thrown.

    returns

    The current value of this Rx

    Definition Classes
    Rx
  7. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  8. def children: Set[Reactor[_]]

    Returns the list of Reactors which are currently bound to this Emitter.

    Returns the list of Reactors which are currently bound to this Emitter.

    Definition Classes
    Emitter
  9. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def currentValue: T

    Attributes
    protected[this]
    Definition Classes
    Rx
  11. def descendants: Set[Reactor[_]]

    All children, children's children, etc.

    All children, children's children, etc. recursively

    returns

    Definition Classes
    Emitter
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def getStamp: Long

    Definition Classes
    Incrementing
  17. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. def kill(): Unit

    Stops this Reactor from listening for updates.

    Stops this Reactor from listening for updates. Obss would stop triggering, Rxs would stop updating and propagating. In Scala-JS, this is necessary to allow the Reactor to be garbage collected, while in Scala-JVM this is unnecessary because of weak references.

    .kill() is irreversible.

    Definition Classes
    Reactor
  20. def killAll(): Unit

    descndents descendants ancestors Shorthand to call .kill() on this Rx as well as any of its

    descndents descendants ancestors Shorthand to call .kill() on this Rx as well as any of its

    Definition Classes
    Rx
  21. def level: Long

    A number giving an approximate ordering of the current Node in the dataflow graph it is part of.

    A number giving an approximate ordering of the current Node in the dataflow graph it is part of.

    Vars have it set to 0 and Obs have it set to Long.MaxValue because they're always the root and leaves of the graph. For other Rxs it depends on their location within the dataflow graph, and can change over time if the shape of the graph is changing.

    Definition Classes
    DynamicNode
  22. def linkChild[R >: T](child: Reactor[R]): Unit

    Binds the Reactor child to this Emitter.

    Binds the Reactor child to this Emitter. Any pings by this Emitter will cause child to react.

    Definition Classes
    Emitter
  23. def makeState: State

    Attributes
    protected[this]
    Definition Classes
    Dynamic → Spinlock
  24. val name: String

    The name of this object, generally passed in as a String when it is created.

    The name of this object, generally passed in as a String when it is created.

    This can be inspected later, and is handy for debugging and logging purposes.

    Definition Classes
    DynamicNode
  25. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  28. def now: T

    Identical to apply(), except that it does not create a dependency if called within the body of another Rx

    Identical to apply(), except that it does not create a dependency if called within the body of another Rx

    returns

    The current value of this Rx

    Definition Classes
    Rx
  29. def parents: Set[Emitter[_]]

    The list of Emitters which this Reactor is currently bound to.

    The list of Emitters which this Reactor is currently bound to.

    Any of these Emitters emitting a ping will cause this Reactor to react.

    Definition Classes
    DynamicReactor
  30. def ping[P](incoming: Set[Emitter[_]])(implicit arg0: Propagator[P]): Set[Reactor[_]]

    Pings this Reactor with some Emitters, causing it to react.

    Pings this Reactor with some Emitters, causing it to react.

    Definition Classes
    Dynamic → Spinlock → Reactor
  31. def propagate[P]()(implicit arg0: Propagator[P]): P

    Definition Classes
    Rx
  32. def recalc[P]()(implicit arg0: Propagator[P]): P

    Forces this Rx to recalculate its value.

    Forces this Rx to recalculate its value. This typically does nothing unless the Rx is a Dynamic, since only Dynamics can have their calculated value change without their ancestors pinging them.

    Definition Classes
    Rx
  33. val state: SpinSet[State]

    Attributes
    protected[this]
    Definition Classes
    Dynamic → Incrementing
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  35. def toString(): String

    Definition Classes
    AnyRef → Any
  36. def toTry: Try[T]

    Returns the current value stored within this Rx as a Try

    Returns the current value stored within this Rx as a Try

    Definition Classes
    Incrementing → Rx
  37. def unlinkChild(child: Reactor[_]): Unit

    Manually unbinds the Reactor child to this Emitter.

    Manually unbinds the Reactor child to this Emitter.

    Definition Classes
    Emitter
  38. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Spinlock[T]

Inherited from Incrementing[T]

Inherited from Rx[T]

Inherited from Reactor[Any]

Inherited from Emitter[T]

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped