private ResultSignal dispatch(SignalFrame signalFrame) { lockProcess(signalFrame.PID.ID); try { ProcessFrame processFrame = m_ProcessStore.GetByPID(signalFrame.PID); var process = processFrame.Materialize(AgniSystem.ProcessManager.ProcessTypeResolver); var signal = signalFrame.Materialize(AgniSystem.ProcessManager.SignalTypeResolver); if (process == null || signal == null)//safeguard { throw new WorkersException("TODO"); } return(process.Accept(this, signal)); } finally { releaseProcess(signalFrame.PID.ID); } }
public SignalFrame Dispatch(SignalFrame signal) => Dispatch(signal);
public SignalFrame Dispatch(SignalFrame signalFrame) { return(new SignalFrame(dispatch(signalFrame))); }
public SignalFrame Dispatch(SignalFrame signal) { return(ProcessControllerService.Instance.Dispatch(signal)); }