/// <summary> /// Configure behaviour to inject with the monkey policy. /// </summary> /// <param name="options">The configuration object.</param> /// <param name="behaviour">A delegate representing the behaviour to inject.</param> public static InjectBehaviourAsyncOptions Behaviour(this InjectBehaviourAsyncOptions options, Func <Task> behaviour) => Behaviour(options, (_, __) => behaviour());
/// <summary> /// Configure behaviour to inject with the monkey policy. /// </summary> /// <param name="options">The configuration object.</param> /// <param name="behaviour">A delegate representing the behaviour to inject.</param> public static InjectBehaviourAsyncOptions Behaviour(this InjectBehaviourAsyncOptions options, Func <Context, CancellationToken, Task> behaviour) { options.BehaviourInternal = behaviour; return(options); }
internal AsyncInjectBehaviourPolicy(InjectBehaviourAsyncOptions options) : base(options.InjectionRate, options.Enabled) { _behaviour = options.BehaviourInternal ?? throw new ArgumentNullException(nameof(options.BehaviourInternal)); }