Accumulator

play.api.libs.streams.Accumulator
See theAccumulator companion trait
object Accumulator

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def apply[E, A](sink: Sink[E, Future[A]]): Accumulator[E, A]

Create a new accumulator from the given Sink.

Create a new accumulator from the given Sink.

Attributes

def done[A](a: A): Accumulator[Any, A]

Create a done accumulator.

Create a done accumulator.

The underlying sink will cancel as soon as its onSubscribe method is called, and the materialized value will be an immediately available future of a.

Attributes

def done[A](a: Future[A]): Accumulator[Any, A]

Create a done accumulator.

Create a done accumulator.

The underlying sink will cancel as soon as its onSubscribe method is called, and the materialized value will be the passed in future.

Attributes

def flatten[E, A](future: Future[Accumulator[E, A]])(implicit materializer: Materializer): Accumulator[E, A]

Flatten a future of an accumulator to an accumulator.

Flatten a future of an accumulator to an accumulator.

Attributes

def source[E]: Accumulator[E, Source[E, _]]

Create an accumulator that forwards the stream fed into it to the source it produces.

Create an accumulator that forwards the stream fed into it to the source it produces.

This is useful for when you want to send the consumed stream to another API that takes a Source as input.

Extreme care must be taken when using this accumulator - the source must always be materialized and consumed. If it isn't, this could lead to resource leaks and deadlocks upstream.

Attributes

Returns

An accumulator that forwards the stream to the produced source.

def strict[E, A](strictHandler: Option[E] => Future[A], toSink: Sink[E, Future[A]]): Accumulator[E, A]

Create an accumulator that is capable of handling the stream as a single, possibly empty, element, with a sink provided as a fallback if the stream can't be expressed as a single element.

Create an accumulator that is capable of handling the stream as a single, possibly empty, element, with a sink provided as a fallback if the stream can't be expressed as a single element.

This is intended to be able to be used to avoid a stream materialization for strict entities.

Attributes