rx.ops

Async

class Async[+T, P] extends Rx[T] with Incrementing[T] with Reactor[Future[_]]

A Rx which flattens out an Rx[Future[T]] into a Rx[T]. If the first Future has not yet arrived, the Async contains its default value. Afterwards, it updates itself when and with whatever the Futures complete with.

The Async can be configured with a variety of Targets, to configure its handling of Futures which complete out of order (RunAlways, DiscardLate)

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

Instance Constructors

  1. new Async(default: ⇒ T, source: Rx[Future[T]], discardLate: Boolean)(implicit ec: ExecutionContext, p: Propagator[P])

Type Members

  1. class SpinState extends AnyRef

    Definition Classes
    Incrementing
  2. type StateType = SpinState

    Attributes
    protected[this]
    Definition Classes
    Async → Incrementing

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

    Definition Classes
    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]
    Definition Classes
    Rx
  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 getStamp: Long

    Definition Classes
    Incrementing
  19. def hashCode(): Int

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

    Definition Classes
    Any
  21. 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
  22. 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
  23. 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
    AsyncNode
  24. 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
  25. 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
    AsyncNode
  26. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  29. 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
  30. 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
    AsyncReactor
  31. def ping[P](incoming: Set[Emitter[_]])(implicit p: 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
    AsyncReactor
  32. def propagate[P]()(implicit arg0: Propagator[P]): P

    Definition Classes
    Rx
  33. 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
  34. val state: SpinSet[SpinState]

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

    Definition Classes
    AnyRef
  36. def toString(): String

    Definition Classes
    AnyRef → Any
  37. 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
  38. def unlinkChild(child: Reactor[_]): Unit

    Manually unbinds the Reactor child to this Emitter.

    Manually unbinds the Reactor child to this Emitter.

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Incrementing[T]

Inherited from core.Rx[T]

Inherited from Reactor[Any]

Inherited from Emitter[T]

Inherited from Node

Inherited from AnyRef

Inherited from Any

Ungrouped