using Serein.Library.Utils; using System; using System.Threading.Tasks; namespace Serein.Library.Api { /// /// 触发器接口 /// /// public interface IFlowTrigger { /// /// 等待信号触发并指定超时时间 /// /// /// /// /// Task> WaitTriggerWithTimeoutAsync(TSignal signal, TimeSpan outTime); /// /// 等待信号触发 /// /// 预期的返回值类型 /// /// Task> WaitTriggerAsync(TSignal signal); /// /// 调用触发器 /// /// 预期的返回值类型 /// 信号 /// 返回值 /// Task InvokeTriggerAsync(TSignal signal, TResult value); /// /// 取消所有触发器 /// void CancelAllTrigger(); } }