package stage
- Alphabetic
- Public
- All
Type Members
-
abstract
class
AbstractGraphStageWithMaterializedValue[+S <: Shape, M] extends GraphStageWithMaterializedValue[S, M]
Java API: A GraphStage represents a reusable graph stream processing operator.
Java API: A GraphStage represents a reusable graph stream processing operator.
Extend this
AbstractGraphStageWithMaterializedValue
if you want to provide a materialized value, represented by the type parameterM
. If your GraphStage does not need to provide a materialized value you can instead extend GraphStage which materializes a NotUsed value.A GraphStage consists of a Shape which describes its input and output ports and a factory function that creates a GraphStageLogic which implements the processing logic that ties the ports together.
See also GraphStageWithMaterializedValue for Scala DSL for this operator.
-
abstract
class
AbstractInHandler extends InHandler
Java API: callbacks for an input port where termination logic is predefined (completing when upstream completes, failing when upstream fails).
-
abstract
class
AbstractInOutHandler extends InHandler with OutHandler
Java API: callback combination for output and input ports where termination logic is predefined (completing when upstream completes, failing when upstream fails, completing when downstream cancels).
-
abstract
class
AbstractOutHandler extends OutHandler
Java API: callbacks for an output port where termination logic is predefined (completing when downstream cancels).
-
trait
AsyncCallback[T] extends AnyRef
An asynchronous callback holder that is attached to a GraphStageLogic.
An asynchronous callback holder that is attached to a GraphStageLogic. Initializing AsyncCallback#invoke will eventually lead to the registered handler being called.
This holder has the same lifecycle as a stream and cannot be used before materialization is done.
Typical use cases are exchanging messages between stream and substreams or invoking from external world sending event to a stream
-
abstract
class
GraphStage[S <: Shape] extends GraphStageWithMaterializedValue[S, NotUsed]
A GraphStage represents a reusable graph stream processing operator.
A GraphStage represents a reusable graph stream processing operator.
A GraphStage consists of a Shape which describes its input and output ports and a factory function that creates a GraphStageLogic which implements the processing logic that ties the ports together.
-
abstract
class
GraphStageLogic extends AnyRef
Represents the processing logic behind a GraphStage.
Represents the processing logic behind a GraphStage. Roughly speaking, a subclass of GraphStageLogic is a collection of the following parts: * A set of InHandler and OutHandler instances and their assignments to the Inlets and Outlets of the enclosing GraphStage * Possible mutable state, accessible from the InHandler and OutHandler callbacks, but not from anywhere else (as such access would not be thread-safe) * The lifecycle hooks preStart() and postStop() * Methods for performing stream processing actions, like pulling or pushing elements
The operator logic is completed once all its input and output ports have been closed. This can be changed by setting
setKeepGoing
to true.The
postStop
lifecycle hook on the logic itself is called once all ports are closed. This is the only tear down callback that is guaranteed to happen, if the actor system or the materializer is terminated the handlers may never see any callbacks toonUpstreamFailure
,onUpstreamFinish
oronDownstreamFinish
. Therefore operator resource cleanup should always be done inpostStop
. -
abstract
class
GraphStageLogicWithLogging extends GraphStageLogic with StageLogging
Java API: GraphStageLogic with StageLogging.
-
abstract
class
GraphStageWithMaterializedValue[+S <: Shape, +M] extends Graph[S, M]
Scala API: A GraphStage represents a reusable graph stream processing operator.
Scala API: A GraphStage represents a reusable graph stream processing operator.
Extend this
GraphStageWithMaterializedValue
if you want to provide a materialized value, represented by the type parameterM
. If your GraphStage does not need to provide a materialized value you can instead extende GraphStage which materializes a NotUsed value.A GraphStage consists of a Shape which describes its input and output ports and a factory function that creates a GraphStageLogic which implements the processing logic that ties the ports together.
See also AbstractGraphStageWithMaterializedValue for Java DSL for this operator.
-
trait
InHandler extends AnyRef
Collection of callbacks for an input port of a GraphStage
-
trait
OutHandler extends AnyRef
Collection of callbacks for an output port of a GraphStage
-
trait
StageLogging extends AnyRef
Simple way to obtain a LoggingAdapter when used together with an ActorMaterializer.
Simple way to obtain a LoggingAdapter when used together with an ActorMaterializer. If used with a different materializer NoLogging will be returned.
Make sure to only access
log
from GraphStage callbacks (such aspull
,push
or the async-callback).Note, abiding to akka.stream.ActorAttributes.logLevels has to be done manually, the logger itself is configured based on the logSource provided to it. Also, the
log
itself would not know if you're calling it from a "on element" context or not, which is why these decisions have to be handled by the operator itself. - abstract class TimerGraphStageLogic extends GraphStageLogic
-
abstract
class
TimerGraphStageLogicWithLogging extends TimerGraphStageLogic with StageLogging
Java API: TimerGraphStageLogic with StageLogging.
Value Members
- object GraphStageLogic