Ejemplo n.º 1
0
        void ExecuteSubroutine(Subroutine subroutine, CallParallel executeOption = CallParallel.NoParallel)
        {
            switch (executeOption)
            {
            case CallParallel.NoParallel:
                ActionSet.AddAction(Element.Part <A_CallSubroutine>(subroutine));
                break;

            case CallParallel.AlreadyRunning_DoNothing:
                ActionSet.AddAction(Element.Part <A_StartRule>(subroutine, EnumData.GetEnumValue(IfAlreadyExecuting.DoNothing)));
                break;

            case CallParallel.AlreadyRunning_RestartRule:
                ActionSet.AddAction(Element.Part <A_StartRule>(subroutine, EnumData.GetEnumValue(IfAlreadyExecuting.RestartRule)));
                break;
            }
        }
        public static void Execute(ActionSet actionSet, Subroutine subroutine, CallParallel callParallel = CallParallel.NoParallel)
        {
            switch (callParallel)
            {
            case CallParallel.NoParallel:
                actionSet.AddAction(Element.CallSubroutine(subroutine));
                break;

            case CallParallel.AlreadyRunning_DoNothing:
                actionSet.AddAction(Element.StartRule(subroutine, false));
                break;

            case CallParallel.AlreadyRunning_RestartRule:
                actionSet.AddAction(Element.StartRule(subroutine, true));
                break;
            }
        }
Ejemplo n.º 3
0
 void ExecuteSubroutine(IFunctionHandler function, CallParallel executeOption = CallParallel.NoParallel) => ExecuteSubroutine(function.GetSubroutineInfo().Subroutine);
 public AsyncInfo(CallParallel parallelMode)
 {
     ParallelMode = parallelMode;
 }