trait RecoveringFutureQueue[T] extends FutureQueue[T]
RecoveringFutureQueue governs the life cycle of a FutureQueue, which is created asynchronously, can be initialized and started again after a failure and operates on elements that define a monotonically increasing index. As part of the recovery process, the implementation keeps track of already offered elements, and based on the provided fromExclusive index, replays the missing elements. The FutureQueue needs to make sure with help of the Commit, that up to the INDEX, the elements are fully processed. This needs to be done as soon as possible, because this allows to "forget" about the offered elements in the RecoveringFutureQueue implementation.
- Alphabetic
- By Inheritance
- RecoveringFutureQueue
- FutureQueue
- CompletingAndShutdownable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def done: Future[Done]
- returns
successfully after shutdown, or with a failure after aborted internally
- Definition Classes
- CompletingAndShutdownable
- abstract def firstSuccessfulConsumerInitialization: Future[Unit]
- abstract def offer(elem: T): Future[Done]
Adding elements to the queue.
Adding elements to the queue. The backpressure is implemented with the future result. An implementation may limit how many parallel unfinished futures can be outstanding at any point in time.
- Definition Classes
- FutureQueue
- abstract def shutdown(): Unit
After shutdown is triggered the done Future is expected to terminate successfully
After shutdown is triggered the done Future is expected to terminate successfully
- Definition Classes
- CompletingAndShutdownable
- abstract def uncommittedQueueSnapshot: Vector[(Long, T)]
Concrete 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]) @IntrinsicCandidate() @native()
- 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
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- 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
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- 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])