Akka.Streams.Implementation.Fusing.GraphInterpreter.RunAsyncInput C# (CSharp) Method

RunAsyncInput() public method

public RunAsyncInput ( GraphStageLogic logic, object evt, Action handler ) : void
logic GraphStageLogic
evt object
handler Action
return void
        public void RunAsyncInput(GraphStageLogic logic, object evt, Action<object> handler)
        {
            if (!IsStageCompleted(logic))
            {
                if (IsDebug) Console.WriteLine($"{Name} ASYNC {evt} ({handler}) [{logic}]");
                var currentInterpreterHolder = CurrentInterpreter.Value;
                var previousInterpreter = currentInterpreterHolder[0];
                currentInterpreterHolder[0] = this;
                try
                {
                    ActiveStage = logic;
                    try
                    {
                        handler(evt);
                    }
                    catch (Exception e)
                    {
                        logic.FailStage(e);
                    }
                    AfterStageHasRun(logic);
                }
                finally
                {
                    currentInterpreterHolder[0] = previousInterpreter;
                }
            }
        }