final class Sink[-In, +Mat] extends Graph[SinkShape[In], Mat]
A Sink
is a set of stream processing steps that has one open input.
Can be used as a Subscriber
- Source
- Sink.scala
- Alphabetic
- By Inheritance
- Sink
- Graph
- AnyRef
- Any
- by GraphMapMatVal
- by SinkToCompletionStage
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
Value Members
- def addAttributes(attr: Attributes): Sink[In, Mat]
Add the given attributes to this Sink.
Add the given attributes to this Sink. If the specific attribute was already present on this graph this means the added attribute will be more specific than the existing one. If this Sink is a composite of multiple graphs, new attributes on the composite will be less specific than attributes set directly on the individual graphs of the composite.
- def asJava[JIn <: In]: javadsl.Sink[JIn, Mat]
Converts this Scala DSL element to it's Java DSL counterpart.
- def async(dispatcher: String, inputBufferSize: Int): Sink[In, Mat]
Put an asynchronous boundary around this
Graph
- def async(dispatcher: String): Sink[In, Mat]
Put an asynchronous boundary around this
Graph
- def async: Sink[In, Mat]
Put an asynchronous boundary around this
Source
- def contramap[In2](f: (In2) => In): Sink[In2, Mat]
Transform this Sink by applying a function to each *incoming* upstream element before it is passed to the Sink
- def getAttributes: Attributes
- def mapMaterializedValue[Mat2](f: (Mat) => Mat2): Sink[In, Mat2]
Transform only the materialized value of this Sink, leaving all other properties as they were.
- def named(name: String): Sink[In, Mat]
Add a
attribute to this Sink.name
- def preMaterialize()(implicit materializer: Materializer): (Mat, Sink[In, NotUsed])
Materializes this Sink, immediately returning (1) its materialized value, and (2) a new Sink that can be consume elements 'into' the pre-materialized one.
Materializes this Sink, immediately returning (1) its materialized value, and (2) a new Sink that can be consume elements 'into' the pre-materialized one.
Useful for when you need a materialized value of a Sink when handing it out to someone to materialize it for you.
Note that
preMaterialize
is implemented through a reactive streamsSubscriber
which means that a buffer is introduced and that errors are not propagated upstream but are turned into cancellations without error details. - def runWith[Mat2](source: Graph[SourceShape[In], Mat2])(implicit materializer: Materializer): Mat2
Connect this
Sink
to aSource
and run it.Connect this
Sink
to aSource
and run it. The returned value is the materialized value of theSource
, e.g. theSubscriber
of a Source#subscriber.Note that the
ActorSystem
can be used as the implicitmaterializer
parameter to use the akka.stream.SystemMaterializer for running the stream. - val shape: SinkShape[In]
The shape of a graph is all that is externally visible: its inlets and outlets.
- val sink: Sink[In, Future[T]]
- Implicit
- This member is added by an implicit conversion from Sink[In, Mat] toSinkToCompletionStage[In, T] performed by method SinkToCompletionStage in akka.stream.scaladsl.This conversion will take place only if Mat is a subclass of Future[T] (Mat <: Future[T]).
- Definition Classes
- SinkToCompletionStage
- def toCompletionStage(): Sink[In, CompletionStage[T]]
- Implicit
- This member is added by an implicit conversion from Sink[In, Mat] toSinkToCompletionStage[In, T] performed by method SinkToCompletionStage in akka.stream.scaladsl.This conversion will take place only if Mat is a subclass of Future[T] (Mat <: Future[T]).
- Definition Classes
- SinkToCompletionStage
- def toString(): String
- Definition Classes
- Sink → AnyRef → Any
- val traversalBuilder: LinearTraversalBuilder
INTERNAL API.
- def withAttributes(attr: Attributes): Sink[In, Mat]
Replace the attributes of this Sink with the given ones.
Shadowed Implicit Value Members
- def mapMaterializedValue[M2](f: (Mat) => M2): Graph[SinkShape[In], M2]
Transform the materialized value of this Graph, leaving all other properties as they were.
Transform the materialized value of this Graph, leaving all other properties as they were.
- f
function to map the graph's materialized value
- Implicit
- This member is added by an implicit conversion from Sink[In, Mat] toGraphMapMatVal[SinkShape[In], Mat] performed by method GraphMapMatVal in akka.stream.Graph.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(sink: GraphMapMatVal[SinkShape[In], Mat]).mapMaterializedValue(f)
- Definition Classes
- GraphMapMatVal