OverflowStrategy

Companion
class
class Object
trait Matchable
class Any

Type members

Classlikes

final case class BackPressure(bufferSize: Int) extends OverflowStrategy[Nothing]

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).

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).

Value Params
bufferSize

specifies how many events our buffer can hold before overflowing

final case class ClearBuffer(bufferSize: Int) extends Evicted[Nothing]

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.

Value Params
bufferSize

specifies how many events our buffer can hold before overflowing

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

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.

Value Params
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.

final case class DropNew(bufferSize: Int) extends Evicted[Nothing]

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.

Value Params
bufferSize

specifies how many events our buffer can hold before overflowing

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

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.

Value Params
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.

final case class DropOld(bufferSize: Int) extends Evicted[Nothing]

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.

Value Params
bufferSize

specifies how many events our buffer can hold before overflowing

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

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.

Value Params
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.

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.

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

final case class Fail(bufferSize: Int) extends Synchronous[Nothing]

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.

Value Params
bufferSize

specifies how many events our buffer can hold before overflowing

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.

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

case object Unbounded extends Synchronous[Nothing]

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.

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.

Value members

Concrete methods

final def Default[A]: OverflowStrategy[A]

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

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