rx.core

Rx

trait Rx[+T] extends Emitter[T] with Reactor[Any]

An Rx is a value that can change over time, emitting pings whenever it changes to notify any dependent Rxs that they need to update.

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

Abstract Value Members

  1. abstract 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
    Node
  2. abstract def 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
    Node
  3. abstract 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
    Reactor
  4. abstract 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
    Reactor
  5. abstract def toTry: Try[T]

    Returns the current value stored within this Rx as a Try

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. 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
  7. def ancestors: Set[Emitter[_]]

    All parents, parent's parents, etc.

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

    Definition Classes
    Reactor
  8. 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

  9. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  10. 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
  11. def clone(): AnyRef

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

    Attributes
    protected[this]
  13. def descendants: Set[Reactor[_]]

    All children, children's children, etc.

    All children, children's children, etc. recursively

    returns

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

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

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

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

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

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

    Definition Classes
    Any
  20. 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
  21. def killAll(): Unit

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

  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. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  26. 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

  27. def propagate[P]()(implicit arg0: Propagator[P]): P

  28. 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.

  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  30. def toString(): String

    Definition Classes
    AnyRef → Any
  31. def unlinkChild(child: Reactor[_]): Unit

    Manually unbinds the Reactor child to this Emitter.

    Manually unbinds the Reactor child to this Emitter.

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Reactor[Any]

Inherited from Emitter[T]

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped