final class CacheUntilConnectSubscriber[-A] extends Subscriber[A]
Wraps an underlying
Subscriber into an implementation that caches
all events until the call to connect()
happens. After being connected,
the buffer is drained into the underlying
observer, after which all
subsequent events are pushed directly.
- Self Type
- CacheUntilConnectSubscriber[A]
- Source
- CacheUntilConnectSubscriber.scala
- Alphabetic
- By Inheritance
- CacheUntilConnectSubscriber
- Subscriber
- Observer
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def connect(): CancelableFuture[Ack]
Connects the underling observer to the upstream publisher.
Connects the underling observer to the upstream publisher.
Until this call happens, the underlying observer will not receive any events. Instead all incoming events are cached. And after
connect
the cached events will be fed in the underlying subscriber and afterwards we connect the underlying subscriber directly to the upstream source.This function should be idempotent. Calling it multiple times should have the same effect as calling it once.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def onComplete(): Unit
The Subscriber.onComplete method that pushes the complete event to the underlying observer.
The Subscriber.onComplete method that pushes the complete event to the underlying observer.
It will wait for connect to happen and the queue of cached events to be drained.
- Definition Classes
- CacheUntilConnectSubscriber → Observer
- def onError(ex: Throwable): Unit
The Subscriber.onError method that pushes an error event to the underlying observer.
The Subscriber.onError method that pushes an error event to the underlying observer.
It will wait for connect to happen and the queue of cached events to be drained.
- Definition Classes
- CacheUntilConnectSubscriber → Observer
- def onNext(elem: A): Future[Ack]
The Subscriber.onNext method that pushes events to the underlying subscriber.
The Subscriber.onNext method that pushes events to the underlying subscriber.
It will back-pressure by means of its
Future[Ack]
result until connect happens and the underlying queue of cached events have been drained.- Definition Classes
- CacheUntilConnectSubscriber → Observer
- implicit val scheduler: Scheduler
- Definition Classes
- CacheUntilConnectSubscriber → Subscriber
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
This is the API documentation for the Monix library.
Package Overview
monix.execution exposes lower level primitives for dealing with asynchronous execution:
Atomic
types, as alternative tojava.util.concurrent.atomic
monix.catnap exposes pure abstractions built on top of the Cats-Effect type classes:
monix.eval is for dealing with evaluation of results, thus exposing Task and Coeval.
monix.reactive exposes the
Observable
pattern:Observable
implementationsmonix.tail exposes Iterant for purely functional pull based streaming:
Batch
andBatchCursor
, the alternatives to Scala'sIterable
andIterator
respectively that we are using within Iterant's encodingYou can control evaluation with type you choose - be it Task, Coeval, cats.effect.IO or your own as long as you provide correct cats-effect or cats typeclass instance.