Class/Object

monifu.reactive.streams

SynchronousSubscriberAsReactiveSubscriber

Related Docs: object SynchronousSubscriberAsReactiveSubscriber | package streams

Permalink

final class SynchronousSubscriberAsReactiveSubscriber[T] extends org.reactivestreams.Subscriber[T]

Wraps a SynchronousObserver instance into a org.reactivestreams.Subscriber instance. The resulting subscriber respects the Reactive Streams contract.

Given that we can guarantee a SynchronousObserver is used, then no buffering is needed and thus the implementation is very efficient.

To create an instance, SynchronousSubscriberAsReactiveSubscriber must be used:

// uses the default requestCount of 128
val subscriber = SynchronousSubscriberAsReactiveSubscriber(new Observer[Int] {
  private[this] var sum = 0

  def onNext(elem: Int) = {
    sum += elem
    Continue
  }

  def onError(ex: Throwable) = {
    logger.error(ex)
  }

  def onComplete() = {
    logger.info("Stream completed")
  }
})
Source
SubscriberAsReactiveSubscriber.scala
Linear Supertypes
org.reactivestreams.Subscriber[T], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SynchronousSubscriberAsReactiveSubscriber
  2. Subscriber
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

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

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

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

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

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

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. def onComplete(): Unit

    Permalink
    Definition Classes
    SynchronousSubscriberAsReactiveSubscriber → Subscriber
  16. def onError(ex: Throwable): Unit

    Permalink
    Definition Classes
    SynchronousSubscriberAsReactiveSubscriber → Subscriber
  17. def onNext(elem: T): Unit

    Permalink
    Definition Classes
    SynchronousSubscriberAsReactiveSubscriber → Subscriber
  18. def onSubscribe(s: Subscription): Unit

    Permalink
    Definition Classes
    SynchronousSubscriberAsReactiveSubscriber → Subscriber
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from org.reactivestreams.Subscriber[T]

Inherited from AnyRef

Inherited from Any

Ungrouped