/// <summary> /// 创建一个具有指定超时时间的 <see cref="TimeoutOperationToken"/>。 /// </summary> /// <param name="timeout">超时时间,可能不是精确的。</param> public TimeoutOperationToken(TimeSpan timeout) { Operation = new ContinuousPartOperation(); _timeout = timeout < TimeSpan.Zero ? TimeSpan.MaxValue : timeout; }
/// <summary> /// 创建一个具有指定执行次数限制的 <see cref="CountLimitOperationToken"/>。 /// </summary> /// <param name="countLimit">次数限制,可能是不精确的。</param> public CountLimitOperationToken(long countLimit) { Operation = new ContinuousPartOperation(); _countLimit = countLimit < 0 ? long.MaxValue : countLimit; }
/// <summary> /// 创建一个用于等待 <see cref="ContinuousPartOperation"/> 的异步可等待对象。 /// </summary> internal Awaiter(ContinuousPartOperation owner) { _owner = owner; }