Packages

case class CacheOp[A](input: Rx[A], lastValue: Option[A] = None, lastUpdatedNanos: Long = System.nanoTime(), expirationAfterWriteNanos: Option[Long] = None, ticker: Ticker = Ticker.systemTicker) extends UnaryRx[A, A] with RxStreamCache[A] with Product with Serializable

Linear Supertypes
Product, Equals, RxStreamCache[A], UnaryRx[A, A], RxStream[A], LogSupport, LazyLogger, LoggingMethods, Serializable, Rx[A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CacheOp
  2. Product
  3. Equals
  4. RxStreamCache
  5. UnaryRx
  6. RxStream
  7. LogSupport
  8. LazyLogger
  9. LoggingMethods
  10. Serializable
  11. Rx
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new CacheOp(input: Rx[A], lastValue: Option[A] = None, lastUpdatedNanos: Long = System.nanoTime(), expirationAfterWriteNanos: Option[Long] = None, ticker: Ticker = Ticker.systemTicker)

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 andThen[B](f: (A) => Future[B])(implicit ex: ExecutionContext): RxStream[B]

    Combine Rx stream and Future operators.

    Combine Rx stream and Future operators.

    This method is useful when you need to call RPC multiple times and chain the next operation after receiving the response.

    Rx.intervalMillis(1000)
      .andThen { i => callRpc(...) } // Returns Future
      .map { (rpcReturnValue) => ... } // Use the Future response
    Definition Classes
    RxStream
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def cache[A1 >: A]: RxStreamCache[A1]

    Cache the last item, and emit the cached value if available.

    Cache the last item, and emit the cached value if available.

    The cached value will be preserved to the operator itself even after cancelling the subscription. Re-subscription of this operator will immediately return the cached value to the downstream operator.

    This operator is useful if we need to involve time-consuming process, and want to reuse the last result: val v = Rx.intervalMillis(1000).map(i => (heavy process)).cache v.map { x => ... }

    Definition Classes
    RxStream
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def concat[A1 >: A](other: Rx[A1]): RxStream[A1]
    Definition Classes
    RxStream
  9. macro def debug(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  10. macro def debug(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. macro def error(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  13. macro def error(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  14. val expirationAfterWriteNanos: Option[Long]
  15. def expireAfterWrite(time: Long, unit: TimeUnit): RxStreamCache[A]

    Discard the cached value after the given duration.

    Discard the cached value after the given duration.

    Definition Classes
    CacheOpRxStreamCache
  16. def filter(f: (A) => Boolean): RxStream[A]
    Definition Classes
    RxStream
  17. def flatMap[B](f: (A) => Rx[B]): RxStream[B]
    Definition Classes
    RxStream
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def getCurrent: Option[A]

    Get the current cached value if exists

    Get the current cached value if exists

    Definition Classes
    CacheOpRxStreamCache
  20. macro def info(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  21. macro def info(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  22. val input: Rx[A]
    Definition Classes
    CacheOpUnaryRx
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. def join[B, C, D](b: Rx[B], c: Rx[C], d: Rx[D]): RxStream[(A, B, C, D)]
    Definition Classes
    RxStream
  25. def join[B, C](b: Rx[B], c: Rx[C]): RxStream[(A, B, C)]
    Definition Classes
    RxStream
  26. def join[B](other: Rx[B]): RxStream[(A, B)]

    Emit a new output if one of Rx[A] or Rx[B] is changed.

    Emit a new output if one of Rx[A] or Rx[B] is changed.

    This method is useful when you need to monitor multiple Rx objects.

    Using joins will be more intuitive than nesting multiple Rx operators like Rx[A].map { x => ... Rx[B].map { ...} }.

    Definition Classes
    RxStream
  27. def lastOption: RxOption[A]
    Definition Classes
    RxStream
  28. var lastUpdatedNanos: Long
  29. var lastValue: Option[A]
  30. macro def logAt(logLevel: LogLevel, message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  31. lazy val logger: Logger
    Attributes
    protected[this]
    Definition Classes
    LazyLogger
  32. def map[B](f: (A) => B): RxStream[B]
    Definition Classes
    RxStream
  33. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  36. def parents: Seq[Rx[_]]
    Definition Classes
    UnaryRxRx
  37. def productElementNames: Iterator[String]
    Definition Classes
    Product
  38. def recover[U](f: PartialFunction[Throwable, U]): RxStream[U]

    Recover from a known error and emit a replacement value

    Recover from a known error and emit a replacement value

    Definition Classes
    Rx
  39. def recoverWith[A](f: PartialFunction[Throwable, Rx[A]]): RxStream[A]

    Recover from a known error and emit replacement values from a given Rx

    Recover from a known error and emit replacement values from a given Rx

    Definition Classes
    Rx
  40. def run[U](effect: (A) => U): Cancelable

    Evaluate this Rx[A] and apply the given effect function.

    Evaluate this Rx[A] and apply the given effect function. Once OnError(e) or OnCompletion is observed, it will stop the evaluation.

    Definition Classes
    Rx
  41. def runContinuously[U](effect: (A) => U): Cancelable

    Keep evaluating Rx[A] even if OnError(e) or OnCompletion is reported.

    Keep evaluating Rx[A] even if OnError(e) or OnCompletion is reported. This is useful for keep processing streams.

    Definition Classes
    Rx
  42. def sample(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): RxStream[A]

    Emit the most recent item of the source within periodic time intervals.

    Emit the most recent item of the source within periodic time intervals.

    Definition Classes
    RxStream
  43. def startWith[A1 >: A](lst: Seq[A1]): RxStream[A1]

    Emit the given items first before returning the items from the source.

    Emit the given items first before returning the items from the source.

    Definition Classes
    RxStream
  44. def startWith[A1 >: A](a: A1): RxStream[A1]

    Emit the given item first before returning the items from the source.

    Emit the given item first before returning the items from the source.

    Definition Classes
    RxStream
  45. def subscribe[U](subscriber: (A) => U): Cancelable
    Definition Classes
    Rx
  46. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  47. def take(n: Long): RxStream[A]

    Take an event up to n elements.

    Take an event up to n elements. This may receive fewer events than n if the upstream operator completes before generating n elements.

    Definition Classes
    RxStream
  48. def throttleFirst(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): RxStream[A]

    Emit the first item of the source within each sampling period.

    Emit the first item of the source within each sampling period. This is useful, for example, to prevent double-clicks of buttons.

    Definition Classes
    RxStream
  49. def throttleLast(timeWindow: Long, unit: TimeUnit = TimeUnit.MILLISECONDS): RxStream[A]

    Emit the most recent item of the source within periodic time intervals.

    Emit the most recent item of the source within periodic time intervals.

    Definition Classes
    RxStream
  50. val ticker: Ticker
  51. def toOption[X, A1 >: A](implicit ev: <:<[A1, Option[X]]): RxOption[X]
    Definition Classes
    RxStream
  52. def toRxStream: RxStream[A]
    Definition Classes
    RxStreamRx
  53. def toSeq: Seq[A]

    Materialize the stream as Seq[A].

    Materialize the stream as Seq[A]. This works only for the finite stream and for Scala JVM.

    Definition Classes
    Rx
  54. macro def trace(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  55. macro def trace(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  56. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  57. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  59. macro def warn(message: Any, cause: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  60. macro def warn(message: Any): Unit
    Attributes
    protected
    Definition Classes
    LoggingMethods
  61. def withFilter(f: (A) => Boolean): RxStream[A]
    Definition Classes
    RxStream
  62. def withName(name: String): RxStream[A]
    Definition Classes
    RxStream
  63. def withTicker(ticker: Ticker): RxStreamCache[A]

    Set a custom ticker.

    Set a custom ticker. Use this only for testing purpose

    Definition Classes
    CacheOpRxStreamCache
  64. def zip[B, C, D](b: Rx[B], c: Rx[C], d: Rx[D]): RxStream[(A, B, C, D)]
    Definition Classes
    RxStream
  65. def zip[B, C](b: Rx[B], c: Rx[C]): RxStream[(A, B, C)]
    Definition Classes
    RxStream
  66. def zip[B](other: Rx[B]): RxStream[(A, B)]

    Combine two Rx streams to form a sequence of pairs.

    Combine two Rx streams to form a sequence of pairs. This will emit a new pair when both of the streams are updated.

    Definition Classes
    RxStream

Deprecated Value Members

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

Inherited from Product

Inherited from Equals

Inherited from RxStreamCache[A]

Inherited from UnaryRx[A, A]

Inherited from RxStream[A]

Inherited from LogSupport

Inherited from LazyLogger

Inherited from LoggingMethods

Inherited from Serializable

Inherited from Rx[A]

Inherited from AnyRef

Inherited from Any

Ungrouped