GraphStageLogic Class |
* A set of InHandler and OutHandler instances and their assignments to the Inlets and Outlets of the enclosing GraphStageTShape
* 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 stage logic is always stopped once all its input and output ports have been closed, i.e. it is not possible to keep the stage alive for further processing once it does not have any open ports.Namespace: Akka.Streams.Stage
The GraphStageLogic type exposes the following members.
Name | Description | |
---|---|---|
GraphStageLogic(Shape) |
TBD
| |
GraphStageLogic(Int32, Int32) |
TBD
|
Name | Description | |
---|---|---|
KeepGoingAfterAllPortsClosed |
If this method returns true when all ports had been closed then the stage is not stopped
until CompleteStage or FailStage(Exception) are explicitly called
| |
Materializer |
The IMaterializer that has set this GraphStage in motion.
| |
StageActorRef |
TBD
| |
SubFusingMaterializer |
An IMaterializer that may run fusable parts of the graphs that it materializes
within the same actor as the current GraphStage(if fusing is available). This materializer
must not be shared outside of the GraphStage.
|
Name | Description | |
---|---|---|
AbortEmittingT |
Abort outstanding (suspended) emissions for the given outlet, if there are any.
This will reinstall the replaced handler that was in effect before the EmitT(OutletT, T, Action)
call.
| |
AbortReadingT |
Abort outstanding (suspended) reading for the given inlet, if there is any.
This will reinstall the replaced handler that was in effect before the read
call.
| |
AfterPostStop |
TBD
| |
BeforePreStart |
TBD
| |
Cancel |
Requests to stop receiving events from a given input port. Cancelling clears any ungrabbed elements from the port.
| |
Complete |
Signals that there will be no more elements emitted on the given port.
| |
CompleteStage |
Automatically invokes Cancel(Inlet) or Complete(Outlet) on all the input or output ports that have been called,
then stops the stage, then PostStop is called.
| |
ConditionalTerminateInput |
Input handler that terminates the state upon receiving completion if the
given condition holds at that time. The stage fails upon receiving a failure.
| |
ConditionalTerminateOutput |
Output handler that terminates the state upon receiving completion if the
given condition holds at that time. The stage fails upon receiving a failure.
| |
CreateSubSinkInletT |
TBD
| |
EmitT(OutletT, T) |
Emit an element through the given outlet and continue with the given thunk
afterwards, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull.
| |
EmitT(OutletT, T, Action) |
Emit an element through the given outlet and continue with the given thunk
afterwards, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull
signal (before invoking the andThen function).
| |
EmitMultipleT(OutletT, IEnumerableT) |
Emit a sequence of elements through the given outlet, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull
signal.
| |
EmitMultipleT(OutletT, IEnumeratorT) |
Emit a sequence of elements through the given outlet, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull
signal.
| |
EmitMultipleT(OutletT, IEnumerableT, Action) |
Emit a sequence of elements through the given outlet and continue with the given thunk
afterwards, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull
signal (before invoking the andThen function).
| |
EmitMultipleT(OutletT, IEnumeratorT, Action) |
Emit a sequence of elements through the given outlet and continue with the given thunk
afterwards, suspending execution if necessary.
This action replaces the OutHandler for the given outlet if suspension
is needed and reinstalls the current handler upon receiving an OnPull
signal (before invoking the andThen function).
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Fail |
Signals failure through the given port.
| |
FailStage |
Automatically invokes Cancel(Inlet) or Fail(Outlet, Exception) on all the input or output ports that have been called,
then stops the stage, then PostStop is called.
| |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetAsyncCallback(Action) |
Obtain a callback object that can be used asynchronously to re-enter the
current GraphStageTShape with an asynchronous notification. The delegate returned
is safe to be called from other threads and it will in the background thread-safely
delegate to the passed callback function. I.e. it will be called by the external world and
the passed handler will be invoked eventually in a thread-safe way by the execution environment.
This object can be cached and reused within the same GraphStageLogic.
| |
GetAsyncCallbackT(ActionT) |
Obtain a callback object that can be used asynchronously to re-enter the
current GraphStageTShape with an asynchronous notification. The delegate returned
is safe to be called from other threads and it will in the background thread-safely
delegate to the passed callback function. I.e. it will be called by the external world and
the passed handler will be invoked eventually in a thread-safe way by the execution environment.
This object can be cached and reused within the same GraphStageLogic.
| |
GetHandler(Inlet) |
Retrieves the current callback for the events on the given InletT | |
GetHandler(Outlet) |
Retrieves the current callback for the events on the given OutletT | |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetStageActorRef |
Initialize a StageActorRef which can be used to interact with from the outside world "as-if" an actor.
The messages are looped through the GetAsyncCallbackT(ActionT) mechanism of GraphStageTShape so they are safe to modify
internal state of this stage.
This method must (the earliest) be called after the GraphStageLogic constructor has finished running,
for example from the PreStart callback the graph stage logic provides.
Created StageActorRef to get messages and watch other actors in synchronous way.
The StageActorRef's lifecycle is bound to the Stage, in other words when the Stage is finished,
the Actor will be terminated as well. The entity backing the StageActorRef is not a real Actor,
but the GraphStageLogic itself, therefore it does not react to PoisonPill.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GrabT(Inlet) |
Once the callback OnPush for an input port has been invoked, the element that has been pushed
can be retrieved via this method. After GrabT(Inlet) has been called the port is considered to be empty, and further
calls to GrabT(Inlet) will fail until the port is pulled again and a new element is pushed as a response.
The method IsAvailable(Inlet) can be used to query if the port has an element that can be grabbed or not.
| |
GrabT(InletT) |
Once the callback OnPush for an input port has been invoked, the element that has been pushed
can be retrieved via this method. After GrabT(InletT) has been called the port is considered to be empty, and further
calls to GrabT(InletT) will fail until the port is pulled again and a new element is pushed as a response.
The method IsAvailable(Inlet) can be used to query if the port has an element that can be grabbed or not.
| |
HasBeenPulled |
Indicates whether there is already a pending pull for the given input port. If this method returns true
then IsAvailable(Inlet) must return false for that same port.
| |
IsAvailable(Inlet) |
Indicates whether there is an element waiting at the given input port. GrabT(InletT) can be used to retrieve the
element. After calling GrabT(InletT) this method will return false.
If this method returns true then HasBeenPulled(Inlet) will return false for that same port.
| |
IsAvailable(Outlet) |
Return true if the given output port is ready to be pushed.
| |
IsClosed(Inlet) |
Indicates whether the port has been closed. A closed port cannot be pulled.
| |
IsClosed(Outlet) |
Indicates whether the port has been closed. A closed port cannot be pushed.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
PassAlongTOut, TIn |
Install a handler on the given inlet that emits received elements on the
given outlet before pulling for more data. doFinish and doFail control whether
completion or failure of the given inlet shall lead to stage termination or not.
doPull instructs to perform one initial pull on the from port.
| |
PostStop |
Invoked after processing of external events stopped because the stage is about to stop or fail.
| |
PreStart |
Invoked before any external events are processed, at the startup of the stage.
| |
Pull(Inlet) |
Requests an element on the given port. Calling this method twice before an element arrived will fail.
There can only be one outstanding request at any given time.The method HasBeenPulled(Inlet) can be used
query whether pull is allowed to be called or not.This method will also fail if the port is already closed.
| |
PullT(InletT) |
Requests an element on the given port. Calling this method twice before an element arrived will fail.
There can only be one outstanding request at any given time.The method HasBeenPulled(Inlet) can be used
query whether pull is allowed to be called or not.This method will also fail if the port is already closed.
| |
PushT |
Emits an element through the given output port. Calling this method twice before a PullT(InletT) has been arrived
will fail. There can be only one outstanding push request at any given time. The method IsAvailable(Inlet) can be
used to check if the port is ready to be pushed or not.
| |
ReadT | ||
ReadManyT |
Read a number of elements from the given inlet and continue with the given function,
suspending execution if necessary. This action replaces the InHandler
for the given inlet if suspension is needed and reinstalls the current
handler upon receiving the last OnPush signal.
If upstream closes before N elements have been read,
the onComplete function is invoked with the elements which were read.
| |
SetHandler(Inlet, IInHandler) |
Assigns callbacks for the events for an InletT.
| |
SetHandler(Outlet, IOutHandler) |
Assigns callbacks for the events for an OutletT.
| |
SetHandler(Outlet, Action, Action) |
Assigns callbacks for the events for an OutletT.
| |
SetHandler(Inlet, Action, Action, ActionException) |
Assigns callbacks for the events for an OutletT.
| |
SetKeepGoing |
Controls whether this stage shall shut down when all its ports are closed, which
is the default. In order to have it keep going past that point this method needs
to be called with a true argument before all ports are closed, and afterwards
it will not be closed until this method is called with a false argument or the
stage is terminated via CompleteStage or FailStage(Exception).
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
TryPull(Inlet) |
Requests an element on the given port unless the port is already closed.
Calling this method twice before an element arrived will fail.
There can only be one outstanding request at any given time.The method HasBeenPulled(Inlet) can be used
query whether pull is allowed to be called or not.
| |
TryPullT(InletT) |
Requests an element on the given port unless the port is already closed.
Calling this method twice before an element arrived will fail.
There can only be one outstanding request at any given time.The method HasBeenPulled(Inlet) can be used
query whether pull is allowed to be called or not.
|
Name | Description | |
---|---|---|
DoNothing |
TBD
| |
EagerTerminateInput |
Input handler that terminates the stage upon receiving completion. The stage fails upon receiving a failure.
| |
EagerTerminateOutput |
Output handler that terminates the stage upon cancellation.
| |
IgnoreTerminateInput |
Input handler that does not terminate the stage upon receiving completion.
The stage fails upon receiving a failure.
| |
IgnoreTerminateOutput |
Output handler that does not terminate the stage upon cancellation.
| |
InCount |
TBD
| |
OutCount |
TBD
| |
TotallyIgnorantInput |
Input handler that does not terminate the stage upon receiving completion
nor failure.
|
Name | Description | |
---|---|---|
AsInstanceOfT |
TBD
(Defined by Extensions.) | |
Match | Overloaded.
Matches the specified target.
(Defined by PatternMatch.) | |
MatchT | Overloaded.
Matches the specified target and return a result of target processing.
(Defined by PatternMatch.) |