Esempio n. 1
0
 /// <inheritdoc/>
 protected override TResult Implementation <TResult>(Func <Context, CancellationToken, TResult> action, Context context, CancellationToken cancellationToken)
 {
     return(MonkeyEngine.InjectBehaviourImplementation(
                action,
                context,
                cancellationToken,
                (ctx, ct) => SystemClock.Sleep(_latencyProvider(ctx), DefaultCancellationForInjectedLatency),
                InjectionRate,
                Enabled));
 }
Esempio n. 2
0
 /// <inheritdoc/>
 protected override TResult Implementation <TResult>(Func <Context, CancellationToken, TResult> action, Context context, CancellationToken cancellationToken)
 {
     return(MonkeyEngine.InjectBehaviourImplementation(
                action,
                context,
                cancellationToken,
                (ctx, ct) => _behaviour(ctx, ct),
                InjectionRate,
                Enabled));
 }
Esempio n. 3
0
 /// <inheritdoc/>
 protected override TResult Implementation <TResult>(Func <Context, CancellationToken, TResult> action, Context context, CancellationToken cancellationToken)
 {
     return(MonkeyEngine.InjectExceptionImplementation(
                action,
                context,
                cancellationToken,
                _faultProvider,
                InjectionRate,
                Enabled));
 }
Esempio n. 4
0
        /// <inheritdoc/>
        protected override TResult Implementation <TResult>(Func <Context, CancellationToken, TResult> action, Context context, CancellationToken cancellationToken)
        {
            return(MonkeyEngine.InjectBehaviourImplementation(
                       action,
                       context,
                       cancellationToken,
                       (ctx, ct) =>
            {
                var latency = _latencyProvider(ctx, ct);

                // to prevent inject latency if token was signaled on latency configuration delegate.
                cancellationToken.ThrowIfCancellationRequested();
                SystemClock.Sleep(latency, cancellationToken);
            },
                       InjectionRate,
                       Enabled));
        }