Packages

object OverflowStrategy extends Serializable

Source
OverflowStrategy.scala
Linear Supertypes
Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OverflowStrategy
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final case class BackPressure(bufferSize: Int) extends OverflowStrategy[Nothing] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should try to apply back-pressure (i.e.

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should try to apply back-pressure (i.e. it should try delaying the data source in producing more elements, until the the consumer has drained the buffer and space is available).

    bufferSize

    specifies how many events our buffer can hold before overflowing

  2. final case class ClearBuffer(bufferSize: Int) extends Evicted[Nothing] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the current buffer should be dropped completely to make room for new events.

    A OverflowStrategy specifying that on reaching the maximum size, the current buffer should be dropped completely to make room for new events.

    bufferSize

    specifies how many events our buffer can hold before overflowing

  3. final case class ClearBufferAndSignal[A](bufferSize: Int, onOverflow: (Long) => Coeval[Option[A]]) extends Evicted[A] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the current buffer should be dropped completely to make room for new events.

    A OverflowStrategy specifying that on reaching the maximum size, the current buffer should be dropped completely to make room for new events.

    The given onOverflow function get be used for logging the event and for sending a message to the downstream consumers to inform them of dropped messages. The function can return None in which case no message is sent and thus you can use it just to log a warning.

    bufferSize

    specifies how many events our buffer can hold before overflowing

    onOverflow

    is a function that can get called on overflow with a number of messages that were dropped, a function that builds a new message that will be sent to downstream.

  4. final case class DropNew(bufferSize: Int) extends Evicted[Nothing] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should begin dropping incoming events until the buffer has room in it again and is free to process more elements.

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should begin dropping incoming events until the buffer has room in it again and is free to process more elements.

    bufferSize

    specifies how many events our buffer can hold before overflowing

  5. final case class DropNewAndSignal[A](bufferSize: Int, onOverflow: (Long) => Coeval[Option[A]]) extends Evicted[A] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should begin dropping incoming events until the buffer has room in it again and is free to process more elements.

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should begin dropping incoming events until the buffer has room in it again and is free to process more elements.

    The given onOverflow function get be used for logging the event and for sending a message to the downstream consumers to inform them of dropped messages. The function can return None in which case no message is sent and thus you can use it just to log a warning.

    bufferSize

    specifies how many events our buffer can hold before overflowing.

    onOverflow

    is a function that can get called on overflow with a number of messages that were dropped, a function that builds a new message that will be sent to downstream. If it returns None, then no message gets sent to downstream.

  6. final case class DropOld(bufferSize: Int) extends Evicted[Nothing] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the currently buffered events should start being dropped in a FIFO order, so the oldest events from the buffer will be dropped first.

    A OverflowStrategy specifying that on reaching the maximum size, the currently buffered events should start being dropped in a FIFO order, so the oldest events from the buffer will be dropped first.

    bufferSize

    specifies how many events our buffer can hold before overflowing

  7. final case class DropOldAndSignal[A](bufferSize: Int, onOverflow: (Long) => Coeval[Option[A]]) extends Evicted[A] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the currently buffered events should start being dropped in a FIFO order, so the oldest events from the buffer will be dropped first.

    A OverflowStrategy specifying that on reaching the maximum size, the currently buffered events should start being dropped in a FIFO order, so the oldest events from the buffer will be dropped first.

    The given onOverflow function get be used for logging the event and for sending a message to the downstream consumers to inform them of dropped messages. The function can return None in which case no message is sent and thus you can use it just to log a warning.

    bufferSize

    specifies how many events our buffer can hold before overflowing

    onOverflow

    is a function that can get called on overflow with a number of messages that were dropped, a function that builds a new message that will be sent to downstream. If it returns None, then no message gets sent to downstream.

  8. sealed abstract class Evicted[A] extends Synchronous[A]

    A sub-category of overflow strategies that are synchronous and that represent eviction policies, meaning that on buffer overflows events start being dropped.

  9. final case class Fail(bufferSize: Int) extends Synchronous[Nothing] with Product with Serializable

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should cancel the subscription and send an onError to the observer(s) downstream.

    A OverflowStrategy specifying that on reaching the maximum size, the pipeline should cancel the subscription and send an onError to the observer(s) downstream.

    bufferSize

    specifies how many events our buffer can hold before overflowing

  10. sealed abstract class Synchronous[+A] extends OverflowStrategy[A]

    A category of OverflowStrategy for buffers that can be used synchronously, without worrying about back-pressure concerns.

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. final def Default[A]: OverflowStrategy[A]

    The default library-wide overflowStrategy used whenever a default argument value is needed.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  20. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  21. object Unbounded extends Synchronous[Nothing] with Product with Serializable

    A OverflowStrategy specifying that the buffer is completely unbounded.

    A OverflowStrategy specifying that the buffer is completely unbounded. Using this overflowStrategy implies that with a fast data source, the system's memory can be exhausted and the process might blow up on lack of memory.

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped