/// <summary> /// Configure behaviour to inject with the monkey policy. /// </summary> /// <param name="options">The configuration object.</param> /// <param name="latency">The latency to inject.</param> public static InjectLatencyAsyncOptions Latency(this InjectLatencyAsyncOptions options, TimeSpan latency) => Latency(options, (_, __) => Task.FromResult(latency));
/// <summary> /// Configure behaviour to inject with the monkey policy. /// </summary> /// <param name="options">The configuration object.</param> /// <param name="latency">A delegate representing the latency to inject.</param> public static InjectLatencyAsyncOptions Latency(this InjectLatencyAsyncOptions options, Func <Context, CancellationToken, Task <TimeSpan> > latency) { options.LatencyInternal = latency; return(options); }
internal AsyncInjectLatencyPolicy(InjectLatencyAsyncOptions options) : base(options.InjectionRate, options.Enabled) { _latencyProvider = options.LatencyInternal ?? throw new ArgumentNullException(nameof(options.LatencyInternal)); }