/// <summary> /// Factory method that creates new Process based on provided PID /// </summary> public static TProcess MakeNew <TProcess>(PID pid) where TProcess : Process, new() { return(makeDefault(new TProcess(), pid)); }
/// <summary> /// Factory method that creates new Process based on provided Type, PID and Configuration /// </summary> public static Process MakeNew(Type type, PID pid, IConfigSectionNode args) { return(makeDefault(FactoryUtils.MakeAndConfigure <Process>(args, type), pid)); }
protected abstract ProcessDescriptor DoGetDescriptor(PID pid);
public static ResultSignal Dispatch(PID pid) { var finalize = MakeNew <FinalizeSignal>(pid); return(AgniSystem.ProcessManager.Dispatch(finalize)); }
public ProcessDescriptor GetDescriptor(PID pid) { return(DoGetDescriptor(pid)); }
protected abstract TProcess DoGet <TProcess>(PID pid) where TProcess : Process;
public TProcess Get <TProcess>(PID pid) where TProcess : Process { return(DoGet <TProcess>(pid)); }
public Task <ResultSignal> Async_Dispatch(PID pid, IConfigSectionNode args, Guid type) { return(Async_Dispatch(pid, args, SignalTypeResolver.Resolve(type))); }
public ResultSignal Dispatch(PID pid, IConfigSectionNode args, Guid type) { return(Dispatch(pid, args, SignalTypeResolver.Resolve(type))); }
public Task Async_Spawn(PID pid, IConfigSectionNode args, Guid type) { return(Async_Spawn(pid, args, ProcessTypeResolver.Resolve(type))); }
public void Spawn(PID pid, IConfigSectionNode args, Guid type) { Spawn(pid, args, ProcessTypeResolver.Resolve(type)); }