monifu

reactive

package reactive

Visibility
  1. Public
  2. All

Type Members

  1. trait Channel[-I] extends AnyRef

    A channel is meant for imperative style feeding of events.

    A channel is meant for imperative style feeding of events.

    When emitting events, one doesn't need to follow the back-pressure contract. On the other hand the grammar must still be respected:

    (pushNext)* (pushComplete | pushError)

  2. trait Observable[+T] extends AnyRef

    Asynchronous implementation of the Observable interface

  3. trait Observer[-T] extends AnyRef

    The Observer from the Rx pattern is the trio of callbacks that get subscribed to an Observable for receiving events.

    The Observer from the Rx pattern is the trio of callbacks that get subscribed to an Observable for receiving events.

    The events received must follow the Rx grammar, which is: onNext * (onComplete | onError)?

    That means an Observer can receive zero or multiple events, the stream ending either in one or zero onComplete or onError (just one, not both), and after onComplete or onError, a well behaved Observable implementation shouldn't send any more onNext events.

  4. trait Subject[-I, +O] extends Observable[O] with Observer[I]

    A Subject is a sort of bridge or proxy that acts both as an Observer and as an Observable.

    A Subject is a sort of bridge or proxy that acts both as an Observer and as an Observable. Because it is a Observer, it can to an Observable and because it is an Observable, it can pass through the items it observes by re-emitting them and it can also emit new items.

Value Members

  1. object Observable

  2. package api

  3. package cancelables

    Cancelables represent asynchronous units of work or other things scheduled for execution and whose execution can be canceled.

    Cancelables represent asynchronous units of work or other things scheduled for execution and whose execution can be canceled.

    One use-case is the scheduling done by monifu.concurrent.Scheduler, in which the scheduling methods return a Cancelable, allowing the canceling of the scheduling.

    Example:

    val s = ConcurrentScheduler()
    val task = s.scheduleRepeated(10.seconds, 50.seconds, {
      println("Hello")
    })
    
    // later, cancels the scheduling ...
    task.cancel()
  4. package channels

  5. package internals

  6. package observers

  7. package subjects

Ungrouped