<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Polly</name>
    </assembly>
    <members>
        <member name="T:Polly.AsyncPolicy">
            <summary>
            Transient exception handling policies that can be applied to asynchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.AsyncPolicy.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.AsyncPolicy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.AsyncPolicy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.AsyncPolicy"/>.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.Polly#IAsyncPolicy#WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.IAsyncPolicy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.IAsyncPolicy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy"/>.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.#ctor(Polly.ExceptionPredicates)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.AsyncPolicy"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle. </param>
        </member>
        <member name="M:Polly.AsyncPolicy.#ctor(Polly.PolicyBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.AsyncPolicy"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder"/> specifying which exceptions the policy should handle. </param>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{System.Threading.Tasks.Task})">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.AsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.Tasks.Task})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},Polly.Context)">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Defines the implementation of a policy for async executions with no return value.
            </summary>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
            <param name="continueOnCapturedContext">Whether async continuations should continue on a captured context.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the result of the execution.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Defines the implementation of a policy for async executions returning <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type returned by asynchronous executions through the implementation.</typeparam>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
            <param name="continueOnCapturedContext">Whether async continuations should continue on a captured context.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the result of the execution.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.WrapAsync(Polly.IAsyncPolicy)">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy.WrapAsync``1(Polly.IAsyncPolicy{``0})">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="T:Polly.AsyncPolicy`1">
            <summary>
            Transient exception handling policies that can be applied to asynchronous delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.AsyncPolicy`1.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.AsyncPolicy`1"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.AsyncPolicy`1"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.AsyncPolicy`1"/>.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.Polly#IAsyncPolicy{TResult}#WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.IAsyncPolicy`1"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.IAsyncPolicy`1"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy`1"/>.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Defines the implementation of a policy for async executions returning <typeparamref name="TResult"/>.
            </summary>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
            <param name="continueOnCapturedContext">Whether async continuations should continue on a captured context.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task`1"/> representing the result of the execution.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.#ctor(Polly.ExceptionPredicates,Polly.ResultPredicates{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.AsyncPolicy`1"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle. </param>
            <param name="resultPredicates">Predicates indicating which results the policy should handle. </param>
        </member>
        <member name="M:Polly.AsyncPolicy`1.#ctor(Polly.PolicyBuilder{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.AsyncPolicy`1"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder`1"/> indicating which exceptions and results the policy should handle.</param>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.Tasks.Task{`0}})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.Tasks.Task{`0}})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},Polly.Context)">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.AsyncPolicy`1.WrapAsync(Polly.IAsyncPolicy)">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="M:Polly.AsyncPolicy`1.WrapAsync(Polly.IAsyncPolicy{`0})">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="T:Polly.Bulkhead.AsyncBulkheadPolicy">
            <summary>
            A bulkhead-isolation policy which can be applied to delegates.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.AsyncBulkheadPolicy.BulkheadAvailableCount">
            <summary>
            Gets the number of slots currently available for executing actions through the bulkhead.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.AsyncBulkheadPolicy.QueueAvailableCount">
            <summary>
            Gets the number of slots currently available for queuing actions for execution through the bulkhead.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.AsyncBulkheadPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Bulkhead.AsyncBulkheadPolicy.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Bulkhead.AsyncBulkheadPolicy`1">
            <summary>
            A bulkhead-isolation policy which can be applied to delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Bulkhead.AsyncBulkheadPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Bulkhead.AsyncBulkheadPolicy`1.BulkheadAvailableCount">
            <summary>
            Gets the number of slots currently available for executing actions through the bulkhead.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.AsyncBulkheadPolicy`1.QueueAvailableCount">
            <summary>
            Gets the number of slots currently available for queuing actions for execution through the bulkhead.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.AsyncBulkheadPolicy`1.Dispose">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Bulkhead.BulkheadPolicy">
            <summary>
            A bulkhead-isolation policy which can be applied to delegates.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Bulkhead.BulkheadPolicy.BulkheadAvailableCount">
            <summary>
            Gets the number of slots currently available for executing actions through the bulkhead.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.BulkheadPolicy.QueueAvailableCount">
            <summary>
            Gets the number of slots currently available for queuing actions for execution through the bulkhead.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadPolicy.Dispose">
            <summary>
            Disposes of the <see cref="T:Polly.Bulkhead.BulkheadPolicy"/>, allowing it to dispose its internal resources.
            <remarks>Only call <see cref="M:Polly.Bulkhead.BulkheadPolicy.Dispose"/> on a <see cref="T:Polly.Bulkhead.BulkheadPolicy"/> after all actions executed through the policy have completed.  If actions are still executing through the policy when <see cref="M:Polly.Bulkhead.BulkheadPolicy.Dispose"/> is called, an <see cref="T:System.ObjectDisposedException"/> may be thrown on the actions' threads when those actions complete.</remarks>
            </summary>
        </member>
        <member name="T:Polly.Bulkhead.BulkheadPolicy`1">
            <summary>
            A bulkhead-isolation policy which can be applied to delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Bulkhead.BulkheadPolicy`1.BulkheadAvailableCount">
            <summary>
            Gets the number of slots currently available for executing actions through the bulkhead.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.BulkheadPolicy`1.QueueAvailableCount">
            <summary>
            Gets the number of slots currently available for queuing actions for execution through the bulkhead.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadPolicy`1.Dispose">
            <summary>
            Disposes of the <see cref="T:Polly.Bulkhead.BulkheadPolicy"/>, allowing it to dispose its internal resources.
            <remarks>Only call <see cref="M:Polly.Bulkhead.BulkheadPolicy`1.Dispose"/> on a <see cref="T:Polly.Bulkhead.BulkheadPolicy"/> after all actions executed through the policy have completed.  If actions are still executing through the policy when <see cref="M:Polly.Bulkhead.BulkheadPolicy`1.Dispose"/> is called, an <see cref="T:System.ObjectDisposedException"/> may be thrown on the actions' threads when those actions complete.</remarks>
            </summary>
        </member>
        <member name="T:Polly.Bulkhead.BulkheadRejectedException">
            <summary>
            Exception thrown when a bulkhead's semaphore and queue are full.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadRejectedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> class.
            </summary>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadRejectedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> class.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Polly.Bulkhead.BulkheadRejectedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:Polly.Bulkhead.IBulkheadPolicy">
            <summary>
            Defines properties and methods common to all bulkhead policies.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.IBulkheadPolicy.BulkheadAvailableCount">
            <summary>
            Gets the number of slots currently available for executing actions through the bulkhead.
            </summary>
        </member>
        <member name="P:Polly.Bulkhead.IBulkheadPolicy.QueueAvailableCount">
            <summary>
            Gets the number of slots currently available for queuing actions for execution through the bulkhead.
            </summary>
        </member>
        <member name="T:Polly.Bulkhead.IBulkheadPolicy`1">
            <summary>
            Defines properties and methods common to all bulkhead policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.Policy">
            <summary>
            Transient exception handling policies that can be applied to synchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync(System.Int32)">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync(System.Int32,System.Func{Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="onBulkheadRejectedAsync">An action to call asynchronously, if the bulkhead rejects execution due to oversubscription.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejectedAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync(System.Int32,System.Int32)">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync(System.Int32,System.Int32,System.Func{Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <param name="onBulkheadRejectedAsync">An action to call asynchronously, if the bulkhead rejects execution due to oversubscription.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejectedAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync``1(System.Int32)">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.AsyncPolicy`1"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync``1(System.Int32,System.Func{Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.AsyncPolicy`1"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="onBulkheadRejectedAsync">An action to call asynchronously, if the bulkhead rejects execution due to oversubscription.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejectedAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync``1(System.Int32,System.Int32)">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.AsyncPolicy`1" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
        </member>
        <member name="M:Polly.Policy.BulkheadAsync``1(System.Int32,System.Int32,System.Func{Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.AsyncPolicy`1" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <param name="onBulkheadRejectedAsync">An action to call asynchronously, if the bulkhead rejects execution due to oversubscription.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejectedAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Bulkhead(System.Int32)">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Bulkhead(System.Int32,System.Action{Polly.Context})">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="onBulkheadRejected">An action to call, if the bulkhead rejects execution due to oversubscription.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejected"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Bulkhead(System.Int32,System.Int32)">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
        </member>
        <member name="M:Polly.Policy.Bulkhead(System.Int32,System.Int32,System.Action{Polly.Context})">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <param name="onBulkheadRejected">An action to call, if the bulkhead rejects execution due to oversubscription.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejected"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Bulkhead``1(System.Int32)">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy`1"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Bulkhead``1(System.Int32,System.Action{Polly.Context})">
            <summary>
            <para>Builds a bulkhead isolation <see cref="T:Polly.Policy`1"/>, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.</para>
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization"/>, the action is not executed and a <see cref="T:Polly.Bulkhead.BulkheadRejectedException"/> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="onBulkheadRejected">An action to call, if the bulkhead rejects execution due to oversubscription.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejected"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Bulkhead``1(System.Int32,System.Int32)">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy`1" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
        </member>
        <member name="M:Polly.Policy.Bulkhead``1(System.Int32,System.Int32,System.Action{Polly.Context})">
            <summary>
            Builds a bulkhead isolation <see cref="T:Polly.Policy`1" />, which limits the maximum concurrency of actions executed through the policy.  Imposing a maximum concurrency limits the potential of governed actions, when faulting, to bring down the system.
            <para>When an execution would cause the number of actions executing concurrently through the policy to exceed <paramref name="maxParallelization" />, the policy allows a further <paramref name="maxQueuingActions" /> executions to queue, waiting for a concurrent execution slot.  When an execution would cause the number of queuing actions to exceed <paramref name="maxQueuingActions" />, a <see cref="T:Polly.Bulkhead.BulkheadRejectedException" /> is thrown.</para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="maxParallelization">The maximum number of concurrent actions that may be executing through the policy.</param>
            <param name="maxQueuingActions">The maximum number of actions that may be queuing, waiting for an execution slot.</param>
            <param name="onBulkheadRejected">An action to call, if the bulkhead rejects execution due to oversubscription.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">maxParallelization;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">maxQueuingActions;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBulkheadRejected"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>
            If the <paramref name="cacheProvider"/> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.CacheAsync``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds an <see cref="T:Polly.AsyncPolicy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy" /> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider "/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider "/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy"/> that will function like a result cache for delegate executions returning a result.</para>
            <para>Before executing a delegate returning a result, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider,Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1"/> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider"/> holds a value for the cache key specified by <see cref="P:Polly.Context.OperationKey"/>.
            If the <paramref name="cacheProvider"/> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider"/> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider"/>, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheError">Delegate to call if an exception is thrown when attempting to get a value from or put a value into the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},Polly.Caching.ICacheKeyStrategy,System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},System.TimeSpan,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttl">Duration (ttl) for which to cache values.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy,System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Cache``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ITtlStrategy{``0},System.Func{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String},System.Action{Polly.Context,System.String,System.Exception},System.Action{Polly.Context,System.String,System.Exception})">
            <summary>
            <para>Builds a <see cref="T:Polly.Policy`1" /> that will function like a result cache for delegate executions returning a <typeparamref name="TResult"/>.</para>
            <para>Before executing a delegate, checks whether the <paramref name="cacheProvider" /> holds a value for the cache key determined by applying the <paramref name="cacheKeyStrategy"/> to the execution <see cref="T:Polly.Context"/>.
            If the <paramref name="cacheProvider" /> provides a value from cache, returns that value and does not execute the governed delegate.  If the <paramref name="cacheProvider" /> does not provide a value, executes the governed delegate, stores the value with the <paramref name="cacheProvider" />, then returns the value.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="ttlStrategy">A strategy for specifying ttl for values to be cached.</param>
            <param name="cacheKeyStrategy">The cache key strategy.</param>
            <param name="onCacheGet">Delegate to call on a cache hit, when value is returned from cache.</param>
            <param name="onCacheMiss">Delegate to call on a cache miss.</param>
            <param name="onCachePut">Delegate to call on cache put.</param>
            <param name="onCacheGetError">Delegate to call if an exception is thrown when attempting to get a value from the cache, passing the execution context, the cache key, and the exception.</param>
            <param name="onCachePutError">Delegate to call if an exception is thrown when attempting to put a value in the cache, passing the execution context, the cache key, and the exception.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="ttlStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="cacheKeyStrategy"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheGet"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCacheMiss"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onCachePut"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.NoOpAsync">
            <summary>
            Builds a NoOp <see cref="T:Polly.AsyncPolicy"/> that will execute without any custom behavior.
            </summary>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.NoOpAsync``1">
            <summary>
            Builds a NoOp <see cref="T:Polly.AsyncPolicy`1"/> that will execute without any custom behavior.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.NoOp">
            <summary>
            Builds a NoOp <see cref="T:Polly.Policy"/> that will execute without any custom behavior.
            </summary>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.NoOp``1">
            <summary>
            Builds a NoOp <see cref="T:Polly.Policy`1"/> that will execute without any custom behavior.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.Policy"/>.</returns>
        </member>
        <member name="M:Polly.Policy.Polly#ISyncPolicy#WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy"/>.</returns>
        </member>
        <member name="M:Polly.Policy.#ctor(Polly.ExceptionPredicates)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Policy"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle. </param>
        </member>
        <member name="M:Polly.Policy.#ctor(Polly.PolicyBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Policy"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder"/> specifying which exceptions the policy should handle. </param>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action{Polly.Context},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action{Polly.Context},Polly.Context)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action{System.Threading.CancellationToken},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action{Polly.Context,System.Threading.CancellationToken},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Execute(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{``0})">
            <summary>
            Executes the specified action within the policy and returns the Result.
            </summary>
            <typeparam name="TResult">The type of the Result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{Polly.Context,``0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{Polly.Context,``0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{System.Threading.CancellationToken,``0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Execute``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action{Polly.Context},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action{Polly.Context},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action{System.Threading.CancellationToken},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action{Polly.Context,System.Threading.CancellationToken},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{``0})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{Polly.Context,``0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{Polly.Context,``0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{System.Threading.CancellationToken,``0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the t result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.ExecuteAndCapture``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy.Handle``1">
            <summary>
            Specifies the type of exception that this policy can handle.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy.Handle``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle with additional filters on this exception type.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy.HandleInner``1">
            <summary>
            Specifies the type of exception that this policy can handle if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy.HandleInner``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle, with additional filters on this exception type, if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy.HandleResult``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of return result that this policy can handle with additional filters on the result.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="resultPredicate">The predicate to filter results this policy will handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy.HandleResult``1(``0)">
            <summary>
            Specifies the type of return result that this policy can handle, and a result value which the policy will handle.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="result">The TResult value this policy will handle.</param>
            <remarks>This policy filter matches the <paramref name="result"/> value returned using .Equals(), ideally suited for value types such as int and enum.  To match characteristics of class return types, consider the overload taking a result predicate.</remarks>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy.Implementation(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Defines the implementation of a policy for sync executions with no return value.
            </summary>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
        </member>
        <member name="M:Polly.Policy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Defines the implementation of a policy for synchronous executions returning <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type returned by synchronous executions through the implementation.</typeparam>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
            <returns>A <typeparamref name="TResult"/> result of the execution.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync(System.Int32,System.TimeSpan)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync(System.Int32,System.TimeSpan,System.Int32)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync``1(System.Int32,System.TimeSpan)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync``1(System.Int32,System.TimeSpan,System.Func{System.TimeSpan,Polly.Context,``0})">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="retryAfterFactory">An (optional) factory to express the recommended retry-after time back to the caller, when an operation is rate-limited.
            <remarks>If null, a <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> with property <see cref="P:Polly.RateLimit.RateLimitRejectedException.RetryAfter"/> will be thrown to indicate rate-limiting.</remarks></param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync``1(System.Int32,System.TimeSpan,System.Int32)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimitAsync``1(System.Int32,System.TimeSpan,System.Int32,System.Func{System.TimeSpan,Polly.Context,``0})">
            <summary>
            Builds a RateLimit <see cref="T:Polly.AsyncPolicy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given,
            with a maximum burst size of <paramref name="maxBurst"/>.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <param name="retryAfterFactory">An (optional) factory to use to express retry-after back to the caller, when an operation is rate-limited.
            <remarks>If null, a <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> with property <see cref="P:Polly.RateLimit.RateLimitRejectedException.RetryAfter"/> will be thrown to indicate rate-limiting.</remarks></param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit(System.Int32,System.TimeSpan)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit(System.Int32,System.TimeSpan,System.Int32)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit``1(System.Int32,System.TimeSpan)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit``1(System.Int32,System.TimeSpan,System.Func{System.TimeSpan,Polly.Context,``0})">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="retryAfterFactory">An (optional) factory to express the recommended retry-after time back to the caller, when an operation is rate-limited.
            <remarks>If null, a <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> with property <see cref="P:Polly.RateLimit.RateLimitRejectedException.RetryAfter"/> will be thrown to indicate rate-limiting.</remarks></param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit``1(System.Int32,System.TimeSpan,System.Int32)">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.RateLimit``1(System.Int32,System.TimeSpan,System.Int32,System.Func{System.TimeSpan,Polly.Context,``0})">
            <summary>
            Builds a RateLimit <see cref="T:Polly.Policy`1"/> that will rate-limit executions to <paramref name="numberOfExecutions"/> per the timespan given,
            with a maximum burst size of <paramref name="maxBurst"/>.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="numberOfExecutions">The number of executions (call it N) permitted per timespan.</param>
            <param name="perTimeSpan">How often N executions are permitted.</param>
            <param name="maxBurst">The maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            This equates to the bucket-capacity of a token-bucket implementation.</param>
            <param name="retryAfterFactory">An (optional) factory to use to express retry-after back to the caller, when an operation is rate-limited.
            <remarks>If null, a <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> with property <see cref="P:Polly.RateLimit.RateLimitRejectedException.RetryAfter"/> will be thrown to indicate rate-limiting.</remarks></param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Int32,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy" /> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Int32,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>/// <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan},System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.TimeoutAsync``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Func{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.AsyncPolicy`1"/> that will wait asynchronously for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeoutAsync">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeoutAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32)">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Int32,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan)">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task"/> capturing the abandoned, timed-out action, and captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Int32,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="seconds">The number of seconds after which to timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">seconds;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="timeout">The timeout.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be a positive TimeSpan (or Timeout.InfiniteTimeSpan to indicate no timeout).</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.TimeSpan,Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeout">The timeout.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">timeout;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan},System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException"/> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1"/> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, and a <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.Timeout``1(System.Func{Polly.Context,System.TimeSpan},Polly.Timeout.TimeoutStrategy,System.Action{Polly.Context,System.TimeSpan,System.Threading.Tasks.Task,System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1" /> that will wait for a delegate to complete for a specified period of time. A <see cref="T:Polly.Timeout.TimeoutRejectedException" /> will be thrown if the delegate does not complete within the configured timeout.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="timeoutProvider">A function to provide the timeout for this execution.</param>
            <param name="timeoutStrategy">The timeout strategy.</param>
            <param name="onTimeout">An action to call on timeout, passing the execution context, the timeout applied, the <see cref="T:System.Threading.Tasks.Task`1" /> capturing the abandoned, timed-out action, and the captured <see cref="T:System.Exception"/>.
            <remarks>The Task parameter will be null if the executed action responded cooperatively to cancellation before the policy timed it out.</remarks></param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="timeoutProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onTimeout"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy.WrapAsync(Polly.IAsyncPolicy[])">
            <summary>
            Creates a <see cref="T:Polly.Wrap.PolicyWrap" /> of the given policies.
            </summary>
            <param name="policies">The policies to place in the wrap, outermost (at left) to innermost (at right).</param>
            <returns>The PolicyWrap.</returns>
            <exception cref="T:System.ArgumentException">The enumerable of policies to form the wrap must contain at least two policies.</exception>
        </member>
        <member name="M:Polly.Policy.WrapAsync``1(Polly.IAsyncPolicy{``0}[])">
            <summary>
            Creates a <see cref="T:Polly.Wrap.PolicyWrap" /> of the given policies governing delegates returning values of type <typeparamref name="TResult" />.
            </summary>
            <param name="policies">The policies to place in the wrap, outermost (at left) to innermost (at right).</param>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <returns>The PolicyWrap.</returns>
            <exception cref="T:System.ArgumentException">The enumerable of policies to form the wrap must contain at least two policies.</exception>
        </member>
        <member name="M:Polly.Policy.Wrap(Polly.ISyncPolicy)">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="M:Polly.Policy.Wrap``1(Polly.ISyncPolicy{``0})">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="M:Polly.Policy.Wrap(Polly.ISyncPolicy[])">
            <summary>
            Creates a <see cref="T:Polly.Wrap.PolicyWrap" /> of the given policies.
            </summary>
            <param name="policies">The policies to place in the wrap, outermost (at left) to innermost (at right).</param>
            <returns>The PolicyWrap.</returns>
            <exception cref="T:System.ArgumentException">The enumerable of policies to form the wrap must contain at least two policies.</exception>
        </member>
        <member name="M:Polly.Policy.Wrap``1(Polly.ISyncPolicy{``0}[])">
            <summary>
            Creates a <see cref="T:Polly.Wrap.PolicyWrap" /> of the given policies governing delegates returning values of type <typeparamref name="TResult" />.
            </summary>
            <param name="policies">The policies to place in the wrap, outermost (at left) to innermost (at right).</param>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <returns>The PolicyWrap.</returns>
            <exception cref="T:System.ArgumentException">The enumerable of policies to form the wrap must contain at least two policies.</exception>
        </member>
        <member name="T:Polly.Caching.AbsoluteTtl">
            <summary>
            Defines a ttl strategy which will cache items until the specified point-in-time.
            </summary>
        </member>
        <member name="M:Polly.Caching.AbsoluteTtl.#ctor(System.DateTimeOffset)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.AbsoluteTtl"/> class.
            </summary>
            <param name="absoluteExpirationTime">The UTC point in time until which to consider the cache item valid.</param>
        </member>
        <member name="T:Polly.Caching.AsyncCachePolicy">
            <summary>
            A cache policy that can be applied to the results of delegate executions.
            </summary>
        </member>
        <member name="M:Polly.Caching.AsyncCachePolicy.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Caching.AsyncCachePolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Caching.AsyncCachePolicy`1">
            <summary>
            A cache policy that can be applied to the results of delegate executions.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Caching.AsyncCachePolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Caching.AsyncGenericCacheProvider`1">
            <summary>
            Provides a strongly-typed wrapper over a non-generic CacheProviderAsync.
            </summary>
            <typeparam name="TCacheFormat">The type of the objects in the cache.</typeparam>
        </member>
        <member name="T:Polly.Caching.AsyncSerializingCacheProvider`1">
            <summary>
            Defines an <see cref="T:Polly.Caching.IAsyncCacheProvider"/> which serializes objects of any type in and out of an underlying cache which caches as type <typeparamref name="TSerialized"/>.  For use with asynchronous <see cref="T:Polly.Caching.CachePolicy" />.
            </summary>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`1.#ctor(Polly.Caching.IAsyncCacheProvider{`0},Polly.Caching.ICacheItemSerializer{System.Object,`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.AsyncSerializingCacheProvider`1"/> class.
            </summary>
            <param name="wrappedCacheProvider">The wrapped cache provider.</param>
            <param name="serializer">The serializer.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="wrappedCacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serializer"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`1.TryGetAsync(System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Gets a value from the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.</param>
            <returns>
            A <see cref="T:System.Threading.Tasks.Task`1" /> promising as Result a tuple whose first element is a value indicating whether
            the key was found in the cache, and whose second element is the value from the cache (null if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`1.PutAsync(System.String,System.Object,Polly.Caching.Ttl,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Puts the specified value in the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when the value has been cached.</returns>
        </member>
        <member name="T:Polly.Caching.AsyncSerializingCacheProvider`2">
            <summary>
            Defines an <see cref="T:Polly.Caching.IAsyncCacheProvider`1"/> which serializes objects of type <typeparamref name="TResult"/> in and out of an underlying cache which caches as type <typeparamref name="TSerialized"/>.  For use with asynchronous <see cref="T:Polly.Caching.CachePolicy" />.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`2.#ctor(Polly.Caching.IAsyncCacheProvider{`1},Polly.Caching.ICacheItemSerializer{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.AsyncSerializingCacheProvider`2"/> class.
            </summary>
            <param name="wrappedCacheProvider">The wrapped cache provider.</param>
            <param name="serializer">The serializer.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="wrappedCacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serializer"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`2.TryGetAsync(System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Gets a value from the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.</param>
            <returns>
            A <see cref="T:System.Threading.Tasks.Task`1" /> promising as Result a tuple whose first element is a value indicating whether
            the key was found in the cache, and whose second element is the value from the cache (default(TResult) if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.AsyncSerializingCacheProvider`2.PutAsync(System.String,`0,Polly.Caching.Ttl,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Puts the specified value in the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when the value has been cached.</returns>
        </member>
        <member name="T:Polly.Caching.CachePolicy">
            <summary>
            A cache policy that can be applied to the results of delegate executions.
            </summary>
        </member>
        <member name="M:Polly.Caching.CachePolicy.Implementation(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Caching.CachePolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Caching.CachePolicy`1">
            <summary>
            A cache policy that can be applied to the results of delegate executions.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Caching.CachePolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Caching.CacheProviderExtensions">
            <summary>
            Class that provides helper methods for configuring CacheProviders.
            </summary>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.For``1(Polly.Caching.ISyncCacheProvider)">
            <summary>
            Provides a strongly <typeparamref name="TCacheFormat"/>-typed version of the supplied <see cref="T:Polly.Caching.ISyncCacheProvider"/>.
            </summary>
            <typeparam name="TCacheFormat">The type the returned <see cref="T:Polly.Caching.ISyncCacheProvider`1"/> will handle.</typeparam>
            <param name="nonGenericCacheProvider">The non-generic cache provider to wrap.</param>
            <returns>ISyncCacheProvider{TCacheFormat}.</returns>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.AsyncFor``1(Polly.Caching.IAsyncCacheProvider)">
            <summary>
            Provides a strongly <typeparamref name="TCacheFormat"/>-typed version of the supplied <see cref="T:Polly.Caching.IAsyncCacheProvider"/>.
            </summary>
            <typeparam name="TCacheFormat">The type the returned <see cref="T:Polly.Caching.IAsyncCacheProvider`1"/> will handle.</typeparam>
            <param name="nonGenericCacheProvider">The non-generic cache provider to wrap.</param>
            <returns>IAsyncCacheProvider{TCacheFormat}.</returns>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.WithSerializer``1(Polly.Caching.ISyncCacheProvider{``0},Polly.Caching.ICacheItemSerializer{System.Object,``0})">
            <summary>
            Wraps the <paramref name="serializer"/> around the <paramref name="cacheProvider"/> so that delegate return values of any type can be stored in the cache as type <typeparamref name="TSerialized"/>.
            </summary>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="serializer">A serializer which can serialize/deserialize all types to/from <typeparamref name="TSerialized"/>.</param>
            <returns>SerializingCacheProvider&lt;TResult, TSerialized&gt;.</returns>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.WithSerializer``2(Polly.Caching.ISyncCacheProvider{``1},Polly.Caching.ICacheItemSerializer{``0,``1})">
            <summary>
            Wraps the <paramref name="serializer"/> around the <paramref name="cacheProvider"/> so that delegate return values of type <typeparamref name="TResult"/> can be stored in the cache as type <typeparamref name="TSerialized"/>.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="serializer">The serializer.</param>
            <returns>SerializingCacheProvider&lt;TResult, TSerialized&gt;.</returns>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.WithSerializer``1(Polly.Caching.IAsyncCacheProvider{``0},Polly.Caching.ICacheItemSerializer{System.Object,``0})">
            <summary>
            Wraps the <paramref name="serializer"/> around the asynchronous <paramref name="cacheProvider"/> so that delegate return values of any type can be stored in the cache as type <typeparamref name="TSerialized"/>.
            </summary>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="serializer">A serializer which can serialize/deserialize all types to/from <typeparamref name="TSerialized"/>.</param>
            <returns>SerializingCacheProvider&lt;TResult, TSerialized&gt;.</returns>
        </member>
        <member name="M:Polly.Caching.CacheProviderExtensions.WithSerializer``2(Polly.Caching.IAsyncCacheProvider{``1},Polly.Caching.ICacheItemSerializer{``0,``1})">
            <summary>
            Wraps the <paramref name="serializer"/> around the asynchronous <paramref name="cacheProvider"/> so that delegate return values of type <typeparamref name="TResult"/> can be stored in the cache as type <typeparamref name="TSerialized"/>.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
            <param name="cacheProvider">The cache provider.</param>
            <param name="serializer">The serializer.</param>
            <returns>SerializingCacheProvider&lt;TResult, TSerialized&gt;.</returns>
        </member>
        <member name="T:Polly.Caching.ContextualTtl">
            <summary>
            Defines a ttl strategy which will cache items for a TimeSpan which may be influenced by data in the execution context.
            </summary>
        </member>
        <member name="F:Polly.Caching.ContextualTtl.TimeSpanKey">
            <summary>
            The key on the execution <see cref="T:Polly.Context"/> to use for storing the Ttl TimeSpan for which to cache.
            </summary>
        </member>
        <member name="F:Polly.Caching.ContextualTtl.SlidingExpirationKey">
            <summary>
            The key on the execution <see cref="T:Polly.Context"/> to use for storing whether the Ttl should be treated as sliding expiration.
            <remarks>If no value is provided for this key, a ttl will not be treated as sliding expiration.</remarks>
            </summary>
        </member>
        <member name="M:Polly.Caching.ContextualTtl.GetTtl(Polly.Context,System.Object)">
            <summary>
            Gets the TimeSpan for which to keep an item about to be cached, which may be influenced by data in the execution context.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>TimeSpan.</returns>
        </member>
        <member name="T:Polly.Caching.DefaultCacheKeyStrategy">
            <summary>
            The default cache key strategy for <see cref="T:Polly.Caching.CachePolicy"/>.  Returns the property <see cref="P:Polly.Context.OperationKey"/>.
            </summary>
        </member>
        <member name="M:Polly.Caching.DefaultCacheKeyStrategy.GetCacheKey(Polly.Context)">
            <summary>
            Gets the cache key from the given execution context.
            </summary>
            <param name="context">The execution context.</param>
            <returns>The cache key.</returns>
        </member>
        <member name="F:Polly.Caching.DefaultCacheKeyStrategy.Instance">
            <summary>
            Gets an instance of the <see cref="T:Polly.Caching.DefaultCacheKeyStrategy"/>.
            </summary>
        </member>
        <member name="T:Polly.Caching.GenericCacheProvider`1">
            <summary>
            Provides a strongly-typed wrapper over a non-generic CacheProvider.
            </summary>
            <typeparam name="TCacheFormat">The type of the objects in the cache.</typeparam>
        </member>
        <member name="T:Polly.Caching.GenericTtlStrategy`1">
            <summary>
            Represents a strongly-typed <see cref="T:Polly.Caching.ITtlStrategy"/> wrapper of a non-generic strategy.
            </summary>
        </member>
        <member name="M:Polly.Caching.GenericTtlStrategy`1.GetTtl(Polly.Context,`0)">
            <summary>
            Gets a TTL for a cacheable item, given the current execution context and result.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.IAsyncCacheProvider">
            <summary>
            Defines methods for classes providing asynchronous cache functionality for Polly <see cref="T:Polly.Caching.CachePolicy" />s.
            </summary>
        </member>
        <member name="M:Polly.Caching.IAsyncCacheProvider.TryGetAsync(System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Gets a value from the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context. <para><remarks>Note: if the underlying cache's async API does not support controlling whether to continue on a captured context, async Policy executions with continueOnCapturedContext == true cannot be guaranteed to remain on the captured context.</remarks></para></param>
            <returns>
            A <see cref="T:System.Threading.Tasks.Task`1" /> promising as Result a tuple whose first element is a value indicating whether
            the key was found in the cache, and whose second element is the value from the cache (null if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.IAsyncCacheProvider.PutAsync(System.String,System.Object,Polly.Caching.Ttl,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Puts the specified value in the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.<para><remarks>Note: if the underlying cache's async API does not support controlling whether to continue on a captured context, async Policy executions with continueOnCapturedContext == true cannot be guaranteed to remain on the captured context.</remarks></para></param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when the value has been cached.</returns>
        </member>
        <member name="T:Polly.Caching.IAsyncCacheProvider`1">
            <summary>
            Defines methods for classes providing asynchronous cache functionality for Polly <see cref="T:Polly.Caching.CachePolicy`1"/>s.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Caching.IAsyncCacheProvider`1.TryGetAsync(System.String,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Gets a value from the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context. <para><remarks>Note: if the underlying cache's async API does not support controlling whether to continue on a captured context, async Policy executions with continueOnCapturedContext == true cannot be guaranteed to remain on the captured context.</remarks></para></param>
            <returns>
            A <see cref="T:System.Threading.Tasks.Task`1" /> promising as Result a tuple whose first element is a value indicating whether
            the key was found in the cache, and whose second element is the value from the cache (default(TResult) if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.IAsyncCacheProvider`1.PutAsync(System.String,`0,Polly.Caching.Ttl,System.Threading.CancellationToken,System.Boolean)">
            <summary>
            Puts the specified value in the cache asynchronously.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <param name="continueOnCapturedContext">Whether async calls should continue on a captured synchronization context.<para><remarks>Note: if the underlying cache's async API does not support controlling whether to continue on a captured context, async Policy executions with continueOnCapturedContext == true cannot be guaranteed to remain on the captured context.</remarks></para></param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when the value has been cached.</returns>
        </member>
        <member name="T:Polly.Caching.ICacheItemSerializer`2">
            <summary>
            Defines operations for serializing and deserializing values being placed in caches by <see cref="T:Polly.Caching.CachePolicy" /> instances.
            </summary>
            <typeparam name="TResult">The type of objects that this serializer can serialize.</typeparam>
            <typeparam name="TSerialized">The type of objects after serialization.</typeparam>
        </member>
        <member name="M:Polly.Caching.ICacheItemSerializer`2.Serialize(`0)">
            <summary>
            Serializes the specified object.
            </summary>
            <param name="objectToSerialize">The object to serialize.</param>
            <returns>The serialized object.</returns>
        </member>
        <member name="M:Polly.Caching.ICacheItemSerializer`2.Deserialize(`1)">
            <summary>
            Deserializes the specified object.
            </summary>
            <param name="objectToDeserialize">The object to deserialize.</param>
            <returns>The deserialized object.</returns>
        </member>
        <member name="T:Polly.Caching.ICacheKeyStrategy">
            <summary>
            Defines how a <see cref="T:Polly.Caching.CachePolicy"/> should get a string cache key from an execution <see cref="T:Polly.Context"/>.
            </summary>
        </member>
        <member name="M:Polly.Caching.ICacheKeyStrategy.GetCacheKey(Polly.Context)">
            <summary>
            Gets the cache key from the given execution context.
            </summary>
            <param name="context">The execution context.</param>
            <returns>The cache key.</returns>
        </member>
        <member name="T:Polly.Caching.ICachePolicy">
            <summary>
            Defines properties and methods common to all Cache policies.
            </summary>
        </member>
        <member name="T:Polly.Caching.ICachePolicy`1">
            <summary>
            Defines properties and methods common to all Cache policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.Caching.ISyncCacheProvider">
            <summary>
            Defines methods for classes providing synchronous cache functionality for Polly <see cref="T:Polly.Caching.CachePolicy"/>s.
            </summary>
        </member>
        <member name="M:Polly.Caching.ISyncCacheProvider.TryGet(System.String)">
            <summary>
            Gets a value from cache.
            </summary>
            <param name="key">The cache key.</param>
            <returns>
            A tuple whose first element is a value indicating whether the key was found in the cache,
            and whose second element is the value from the cache (null if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.ISyncCacheProvider.Put(System.String,System.Object,Polly.Caching.Ttl)">
            <summary>
            Puts the specified value in the cache.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
        </member>
        <member name="T:Polly.Caching.ISyncCacheProvider`1">
            <summary>
            Defines methods for classes providing synchronous cache functionality for Polly <see cref="T:Polly.Caching.CachePolicy`1"/>s.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Caching.ISyncCacheProvider`1.TryGet(System.String)">
            <summary>
            Gets a value from cache.
            </summary>
            <param name="key">The cache key.</param>
            <returns>
            A tuple whose first element is a value indicating whether the key was found in the cache,
            and whose second element is the value from the cache (default(TResult) if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.ISyncCacheProvider`1.Put(System.String,`0,Polly.Caching.Ttl)">
            <summary>
            Puts the specified value in the cache.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
        </member>
        <member name="T:Polly.Caching.ITtlStrategy">
            <summary>
            Defines a strategy for providing time-to-live durations for cacheable results.
            </summary>
        </member>
        <member name="T:Polly.Caching.ITtlStrategy`1">
            <summary>
            Defines a strategy for providing time-to-live durations for cacheable results.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Caching.ITtlStrategy`1.GetTtl(Polly.Context,`0)">
            <summary>
            Gets a TTL for a cacheable item, given the current execution context.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.NonSlidingTtl">
            <summary>
            Represents an <see cref="T:Polly.Caching.ITtlStrategy"/> expiring at an absolute time, not with sliding expiration.
            </summary>
        </member>
        <member name="F:Polly.Caching.NonSlidingTtl.absoluteExpirationTime">
            <summary>
            The absolute expiration time for cache items, represented by this strategy.
            </summary>
        </member>
        <member name="M:Polly.Caching.NonSlidingTtl.#ctor(System.DateTimeOffset)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.NonSlidingTtl"/> class.
            </summary>
            <param name="absoluteExpirationTime">The absolute expiration time for cache items, represented by this strategy.</param>
        </member>
        <member name="M:Polly.Caching.NonSlidingTtl.GetTtl(Polly.Context,System.Object)">
            <summary>
            Gets a TTL for a cacheable item, given the current execution context.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.RelativeTtl">
            <summary>
            Defines a ttl strategy which will cache items for the specified time.
            </summary>
        </member>
        <member name="M:Polly.Caching.RelativeTtl.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.RelativeTtl"/> class.
            </summary>
            <param name="ttl">The timespan for which to consider the cache item valid.</param>
        </member>
        <member name="M:Polly.Caching.RelativeTtl.GetTtl(Polly.Context,System.Object)">
            <summary>
            Gets a TTL for a cacheable item, given the current execution context.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.ResultTtl`1">
            <summary>
            Defines a ttl strategy which can calculate a duration to cache items dynamically based on the execution context and result of the execution.
            </summary>
            <typeparam name="TResult">The type of results that the ttl calculation function will take as an input parameter.</typeparam>
        </member>
        <member name="M:Polly.Caching.ResultTtl`1.#ctor(System.Func{`0,Polly.Caching.Ttl})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.ResultTtl`1"/> class, with a func calculating <see cref="T:Polly.Caching.Ttl"/> based on the <typeparamref name="TResult"/> value to cache.
            </summary>
            <param name="ttlFunc">The function to calculate the TTL for which cache items should be considered valid.</param>
        </member>
        <member name="M:Polly.Caching.ResultTtl`1.#ctor(System.Func{Polly.Context,`0,Polly.Caching.Ttl})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.ResultTtl`1"/> class, with a func calculating <see cref="T:Polly.Caching.Ttl"/> based on the execution <see cref="T:Polly.Context"/> and <typeparamref name="TResult"/> value to cache.
            </summary>
            <param name="ttlFunc">The function to calculate the TTL for which cache items should be considered valid.</param>
        </member>
        <member name="M:Polly.Caching.ResultTtl`1.GetTtl(Polly.Context,`0)">
            <summary>
            Gets a TTL for the cacheable item.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.SerializingCacheProvider`1">
            <summary>
            Defines an <see cref="T:Polly.Caching.ISyncCacheProvider"/> which serializes objects of any type in and out of an underlying cache which caches as type <typeparamref name="TSerialized"/>.  For use with synchronous <see cref="T:Polly.Caching.CachePolicy" />.
            </summary>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`1.#ctor(Polly.Caching.ISyncCacheProvider{`0},Polly.Caching.ICacheItemSerializer{System.Object,`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.SerializingCacheProvider`1"/> class.
            </summary>
            <param name="wrappedCacheProvider">The wrapped cache provider.</param>
            <param name="serializer">The serializer.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="wrappedCacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serializer"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`1.TryGet(System.String)">
            <summary>
            Gets a value from the cache.
            </summary>
            <param name="key">The cache key.</param>
            <returns>
            A tuple whose first element is a value indicating whether the key was found in the cache,
            and whose second element is the value from the cache (null if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`1.Put(System.String,System.Object,Polly.Caching.Ttl)">
            <summary>
            Puts the specified value in the cache.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
        </member>
        <member name="T:Polly.Caching.SerializingCacheProvider`2">
            <summary>
            Defines an <see cref="T:Polly.Caching.ISyncCacheProvider`1"/> which serializes objects of type <typeparamref name="TResult"/> in and out of an underlying cache which caches as type <typeparamref name="TSerialized"/>.  For use with synchronous <see cref="T:Polly.Caching.CachePolicy" />.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <typeparam name="TSerialized">The type of serialized objects to be placed in the cache.</typeparam>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`2.#ctor(Polly.Caching.ISyncCacheProvider{`1},Polly.Caching.ICacheItemSerializer{`0,`1})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.SerializingCacheProvider`2" /> class.
            </summary>
            <param name="wrappedCacheProvider">The wrapped cache provider.</param>
            <param name="serializer">The serializer.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="wrappedCacheProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="serializer"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`2.TryGet(System.String)">
            <summary>
            Gets a value from the cache.
            </summary>
            <param name="key">The cache key.</param>
            <returns>
            A tuple whose first element is a value indicating whether the key was found in the cache,
            and whose second element is the value from the cache (default(TResult) if not found).
            </returns>
        </member>
        <member name="M:Polly.Caching.SerializingCacheProvider`2.Put(System.String,`0,Polly.Caching.Ttl)">
            <summary>
            Puts the specified value in the cache.
            </summary>
            <param name="key">The cache key.</param>
            <param name="value">The value to put into the cache.</param>
            <param name="ttl">The time-to-live for the cache entry.</param>
        </member>
        <member name="T:Polly.Caching.SlidingTtl">
            <summary>
            Defines a ttl strategy which will cache items with a sliding ttl.
            </summary>
        </member>
        <member name="M:Polly.Caching.SlidingTtl.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.SlidingTtl"/> class.
            </summary>
            <param name="slidingTtl">The sliding timespan for which cache items should be considered valid.</param>
        </member>
        <member name="M:Polly.Caching.SlidingTtl.GetTtl(Polly.Context,System.Object)">
            <summary>
            Gets a TTL for the cacheable item.
            </summary>
            <param name="context">The execution context.</param>
            <param name="result">The execution result.</param>
            <returns>A <see cref="T:Polly.Caching.Ttl"/> representing the remaining Ttl of the cached item.</returns>
        </member>
        <member name="T:Polly.Caching.Ttl">
            <summary>
            Represents a time-to-live for a given cache item.
            </summary>
        </member>
        <member name="F:Polly.Caching.Ttl.Timespan">
            <summary>
            The timespan for which this cache-item remains valid.
            </summary>
        </member>
        <member name="F:Polly.Caching.Ttl.SlidingExpiration">
            <summary>
            Whether this <see cref="T:Polly.Caching.Ttl"/> should be considered as sliding expiration: that is, the cache item should be considered valid for a further period of duration <see cref="F:Polly.Caching.Ttl.Timespan"/> each time the cache item is retrieved.
            </summary>
        </member>
        <member name="M:Polly.Caching.Ttl.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.Ttl"/> struct.
            </summary>
            <param name="timeSpan">The timespan for which this cache-item remains valid.
            <remarks>Will be considered as not denoting sliding expiration.</remarks></param>
        </member>
        <member name="M:Polly.Caching.Ttl.#ctor(System.TimeSpan,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Caching.Ttl"/> struct.
            </summary>
            <param name="timeSpan">The timespan for which this cache-item remains valid.</param>
            <param name="slidingExpiration">Whether this <see cref="T:Polly.Caching.Ttl"/> should be considered as sliding expiration.</param>
        </member>
        <member name="T:Polly.Caching.TtlStrategyExtensions">
            <summary>
            Class that provides helper methods for configuring TtlStrategies.
            </summary>
        </member>
        <member name="M:Polly.Caching.TtlStrategyExtensions.For``1(Polly.Caching.ITtlStrategy)">
            <summary>
            Provides a strongly <typeparamref name="TResult"/>-typed version of the supplied <see cref="T:Polly.Caching.ITtlStrategy"/>.
            </summary>
            <typeparam name="TResult">The type the returned <see cref="T:Polly.Caching.ITtlStrategy`1"/> will handle.</typeparam>
            <param name="ttlStrategy">The non-generic ttl strategy to wrap.</param>
            <returns>ITtlStrategy{TCacheFormat}.</returns>
        </member>
        <member name="T:Polly.AdvancedCircuitBreakerSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.Policy"/>.
            </summary>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action)">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy" /> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open" /> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed" /> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen" /> state, ready to try action executions again.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerSyntax.AdvancedCircuitBreaker(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy" /> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open" /> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed" /> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen" /> state, ready to try action executions again.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
        </member>
        <member name="T:Polly.AdvancedCircuitBreakerTResultSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.Policy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action)">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1" /> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration" />, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold" />, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open" /> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed" /> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen" /> state, ready to try action executions again.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
        </member>
        <member name="M:Polly.AdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreaker``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1" /> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration" />, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold" />, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open" /> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed" /> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen" /> state, ready to try action executions again.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
        </member>
        <member name="T:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy">
            <summary>
            A circuit-breaker policy that can be applied to async delegates.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.CircuitState">
            <summary>
            Gets the state of the underlying circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.LastException">
            <summary>
            Gets the last exception handled by the circuit-breaker.
            <remarks>This will be null if no exceptions have been handled by the circuit-breaker since the circuit last closed.</remarks>
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.Isolate">
            <summary>
            Isolates (opens) the circuit manually, and holds it in this state until a call to <see cref="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.Reset"/> is made.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.Reset">
            <summary>
            Closes the circuit, and resets any statistics controlling automated circuit-breaking.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1">
            <summary>
            A circuit-breaker policy that can be applied to async delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="P:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.CircuitState">
            <summary>
            Gets the state of the underlying circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.LastException">
            <summary>
            Gets the last exception handled by the circuit-breaker.
            <remarks>This will be null if no exceptions have been handled by the circuit-breaker since the circuit last closed.</remarks>
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.LastHandledResult">
            <summary>
            Gets the last result returned from a user delegate which the circuit-breaker handled.
            <remarks>This will be default(<typeparamref name="TResult"/>) if no results have been handled by the circuit-breaker since the circuit last closed, or if the last event handled by the circuit was an exception.</remarks>
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.Isolate">
            <summary>
            Isolates (opens) the circuit manually, and holds it in this state until a call to <see cref="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.Reset"/> is made.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.Reset">
            <summary>
            Closes the circuit, and resets any statistics controlling automated circuit-breaking.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.AsyncCircuitBreakerPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.CircuitBreaker.BrokenCircuitException`1">
            <summary>
            Exception thrown when a circuit is broken.
            </summary>
            <typeparam name="TResult">The type of returned results being handled by the policy.</typeparam>
        </member>
        <member name="M:Polly.CircuitBreaker.BrokenCircuitException`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.CircuitBreaker.BrokenCircuitException`1"/> class.
            </summary>
            <param name="result">The result which caused the circuit to break.</param>
        </member>
        <member name="M:Polly.CircuitBreaker.BrokenCircuitException`1.#ctor(System.String,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.CircuitBreaker.BrokenCircuitException`1"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="result">The result which caused the circuit to break.</param>
        </member>
        <member name="M:Polly.CircuitBreaker.BrokenCircuitException`1.#ctor(System.String,System.Exception,`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.CircuitBreaker.BrokenCircuitException`1"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="inner">The inner exception.</param>
            <param name="result">The result which caused the circuit to break.</param>
        </member>
        <member name="P:Polly.CircuitBreaker.BrokenCircuitException`1.Result">
            <summary>
            Gets the result value which was considered a handled fault, by the policy.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.BrokenCircuitException`1.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.CircuitBreaker.BrokenCircuitException`1"/> class.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
        </member>
        <member name="T:Polly.CircuitBreaker.CircuitBreakerPolicy">
            <summary>
            A circuit-breaker policy that can be applied to delegates.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.CircuitBreakerPolicy.CircuitState">
            <summary>
            Gets the state of the underlying circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.CircuitBreakerPolicy.LastException">
            <summary>
            Gets the last exception handled by the circuit-breaker.
            <remarks>This will be null if no exceptions have been handled by the circuit-breaker since the circuit last closed.</remarks>
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy.Isolate">
            <summary>
            Isolates (opens) the circuit manually, and holds it in this state until a call to <see cref="M:Polly.CircuitBreaker.CircuitBreakerPolicy.Reset"/> is made.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy.Reset">
            <summary>
            Closes the circuit, and resets any statistics controlling automated circuit-breaking.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.CircuitBreaker.CircuitBreakerPolicy`1">
            <summary>
            A circuit-breaker policy that can be applied to delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="P:Polly.CircuitBreaker.CircuitBreakerPolicy`1.CircuitState">
            <summary>
            Gets the state of the underlying circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.CircuitBreakerPolicy`1.LastException">
            <summary>
            Gets the last exception handled by the circuit-breaker.
            <remarks>This will be null if no exceptions have been handled by the circuit-breaker since the circuit last closed, or if the last event handled by the circuit was a handled <typeparamref name="TResult"/> value.</remarks>
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.CircuitBreakerPolicy`1.LastHandledResult">
            <summary>
            Gets the last result returned from a user delegate which the circuit-breaker handled.
            <remarks>This will be default(<typeparamref name="TResult"/>) if no results have been handled by the circuit-breaker since the circuit last closed, or if the last event handled by the circuit was an exception.</remarks>
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy`1.Isolate">
            <summary>
            Isolates (opens) the circuit manually, and holds it in this state until a call to <see cref="M:Polly.CircuitBreaker.CircuitBreakerPolicy`1.Reset"/> is made.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy`1.Reset">
            <summary>
            Closes the circuit, and resets any statistics controlling automated circuit-breaking.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.CircuitBreakerPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.CircuitBreaker.ICircuitBreakerPolicy">
            <summary>
            Defines properties and methods common to all circuit-breaker policies.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitBreakerPolicy.CircuitState">
            <summary>
            Gets the state of the underlying circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitBreakerPolicy.LastException">
            <summary>
            Gets the last exception handled by the circuit-breaker.
            <remarks>This will be null if no exceptions have been handled by the circuit-breaker since the circuit last closed.</remarks>
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitBreakerPolicy.Isolate">
            <summary>
            Isolates (opens) the circuit manually, and holds it in this state until a call to <see cref="M:Polly.CircuitBreaker.CircuitBreakerPolicy.Reset"/> is made.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitBreakerPolicy.Reset">
            <summary>
            Closes the circuit, and resets any statistics controlling automated circuit-breaking.
            </summary>
        </member>
        <member name="T:Polly.CircuitBreaker.ICircuitBreakerPolicy`1">
            <summary>
            Defines properties and methods common to all circuit-breaker policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitBreakerPolicy`1.LastHandledResult">
            <summary>
            Gets the last result returned from a user delegate which the circuit-breaker handled.
            <remarks>This will be default(<typeparamref name="TResult"/>) if no results have been handled by the circuit-breaker since the circuit last closed, or if the last event handled by the circuit was an exception.</remarks>
            </summary>
        </member>
        <member name="T:Polly.CircuitBreaker.ICircuitController`1">
            <summary>
            Interface for controlling a circuit breaker.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitController`1.CircuitState">
            <summary>
            Gets the state of the circuit.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitController`1.LastException">
            <summary>
            Gets the last exception that was handled by the circuit breaker.
            </summary>
        </member>
        <member name="P:Polly.CircuitBreaker.ICircuitController`1.LastHandledResult">
            <summary>
            Gets the last result that was handled by the circuit breaker.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.Isolate">
            <summary>
            Isolates the circuit breaker.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.Reset">
            <summary>
            Resets the circuit breaker.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.OnCircuitReset(Polly.Context)">
            <summary>
            Handles the circuit reset event.
            </summary>
            <param name="context">The context.</param>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.OnActionPreExecute">
            <summary>
            Handles the action pre-execute event.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.OnActionSuccess(Polly.Context)">
            <summary>
            Handles the action success event.
            </summary>
            <param name="context">The context.</param>
        </member>
        <member name="M:Polly.CircuitBreaker.ICircuitController`1.OnActionFailure(Polly.DelegateResult{`0},Polly.Context)">
            <summary>
            Handles the action failure event.
            </summary>
            <param name="outcome">The outcome of the delegate.</param>
            <param name="context">The context.</param>
        </member>
        <member name="T:Polly.CircuitBreaker.IHealthMetrics">
            <summary>
            Interface for managing health metrics.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.IHealthMetrics.IncrementSuccess_NeedsLock">
            <summary>
            Increments the success count.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.IHealthMetrics.IncrementFailure_NeedsLock">
            <summary>
            Increments the failure count.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.IHealthMetrics.Reset_NeedsLock">
            <summary>
            Resets the health metrics.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreaker.IHealthMetrics.GetHealthCount_NeedsLock">
            <summary>
            Gets the health count.
            </summary>
            <returns>The current health count.</returns>
        </member>
        <member name="T:Polly.AsyncAdvancedCircuitBreakerSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.AsyncPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerSyntax.AdvancedCircuitBreakerAsync(Polly.PolicyBuilder,System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{System.Exception,Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure.</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.AsyncAdvancedCircuitBreakerTResultSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.AsyncPolicy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception or result exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncAdvancedCircuitBreakerTResultSyntax.AdvancedCircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Double,System.TimeSpan,System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if, within any timeslice of duration <paramref name="samplingDuration"/>, the proportion of actions resulting in a handled exception exceeds <paramref name="failureThreshold"/>, provided also that the number of actions through the circuit in the timeslice is at least <paramref name="minimumThroughput" />. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak" />. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException" /> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak" />; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="failureThreshold">The failure threshold at which the circuit will break (a number between 0 and 1; eg 0.5 represents breaking if 50% or more of actions result in a handled failure).</param>
            <param name="samplingDuration">The duration of the timeslice over which failure ratios are assessed.</param>
            <param name="minimumThroughput">The minimum throughput: this many actions or more must pass through the circuit in the timeslice, for statistics to be considered significant and the circuit-breaker to come into action.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">failureThreshold;Value must be less than or equal to one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">samplingDuration;Value must be equal to or greater than the minimum resolution of the CircuitBreaker timer.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">minimumThroughput;Value must be greater than one.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">durationOfBreak;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.AsyncCircuitBreakerSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.AsyncPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerSyntax.CircuitBreakerAsync(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.AsyncCircuitBreakerTResultSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.AsyncPolicy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncCircuitBreakerTResultSyntax.CircuitBreakerAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.AsyncPolicy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.CircuitBreakerSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.Policy"/>.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerSyntax.CircuitBreaker(Polly.PolicyBuilder,System.Int32,System.TimeSpan,System.Action{System.Exception,Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="exceptionsAllowedBeforeBreaking"/>
            exceptions that are handled by this policy are raised consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception is thrown, the circuit will reset.
            </para>
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="exceptionsAllowedBeforeBreaking">The number of exceptions that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">exceptionsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.CircuitBreakerTResultSyntax">
            <summary>
            Fluent API for defining a Circuit Breaker <see cref="T:Polly.Policy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context})">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan},System.Action,System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.CircuitBreakerTResultSyntax.CircuitBreaker``1(Polly.PolicyBuilder{``0},System.Int32,System.TimeSpan,System.Action{Polly.DelegateResult{``0},Polly.CircuitBreaker.CircuitState,System.TimeSpan,Polly.Context},System.Action{Polly.Context},System.Action)">
            <summary>
            <para> Builds a <see cref="T:Polly.Policy`1"/> that will function like a Circuit Breaker.</para>
            <para>The circuit will break if <paramref name="handledEventsAllowedBeforeBreaking"/>
            exceptions or results that are handled by this policy are encountered consecutively. </para>
            <para>The circuit will stay broken for the <paramref name="durationOfBreak"/>. Any attempt to execute this policy
            while the circuit is broken, will immediately throw a <see cref="T:Polly.CircuitBreaker.BrokenCircuitException"/> containing the exception or result
            that broke the circuit.
            </para>
            <para>If the first action after the break duration period results in a handled exception or result, the circuit will break
            again for another <paramref name="durationOfBreak"/>; if no exception or handled result is encountered, the circuit will reset.
            </para>
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="handledEventsAllowedBeforeBreaking">The number of exceptions or handled results that are allowed before opening the circuit.</param>
            <param name="durationOfBreak">The duration the circuit will stay open before resetting.</param>
            <param name="onBreak">The action to call when the circuit transitions to an <see cref="F:Polly.CircuitBreaker.CircuitState.Open"/> state.</param>
            <param name="onReset">The action to call when the circuit resets to a <see cref="F:Polly.CircuitBreaker.CircuitState.Closed"/> state.</param>
            <param name="onHalfOpen">The action to call when the circuit transitions to <see cref="F:Polly.CircuitBreaker.CircuitState.HalfOpen"/> state, ready to try action executions again. </param>
            <returns>The policy instance.</returns>
            <remarks>(see "Release It!" by Michael T. Nygard fi).</remarks>
            <exception cref="T:System.ArgumentOutOfRangeException">handledEventsAllowedBeforeBreaking;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onBreak"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onReset"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onHalfOpen"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.Context">
            <summary>
            Context that carries with a single execution through a Policy.   Commonly-used properties are directly on the class.  Backed by a dictionary of string key / object value pairs, to which user-defined values may be added.
            <remarks>Do not re-use an instance of <see cref="T:Polly.Context"/> across more than one call through .Execute(...) or .ExecuteAsync(...).</remarks>
            </summary>
            <summary>
            Context that carries with a single execution through a Policy.   Commonly-used properties are directly on the class.  Backed by a dictionary of string key / object value pairs, to which user-defined values may be added.
            <remarks>Do not re-use an instance of <see cref="T:Polly.Context"/> across more than one execution.</remarks>
            </summary>
        </member>
        <member name="M:Polly.Context.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Context"/> class, with the specified <paramref name="operationKey"/>.
            </summary>
            <param name="operationKey">The operation key.</param>
        </member>
        <member name="M:Polly.Context.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Context"/> class.
            </summary>
        </member>
        <member name="P:Polly.Context.PolicyWrapKey">
            <summary>
            Gets the wrapped <see cref="P:Polly.PolicyBase.PolicyKey"/>.
            When execution is through a <see cref="T:Polly.Wrap.PolicyWrap"/>, identifies the PolicyWrap executing the current delegate by returning the <see cref="P:Polly.PolicyBase.PolicyKey"/> of the outermost layer in the PolicyWrap; otherwise, null.
            </summary>
        </member>
        <member name="P:Polly.Context.PolicyKey">
            <summary>
            Gets the <see cref="P:Polly.PolicyBase.PolicyKey"/> of the policy instance executing the current delegate.
            </summary>
        </member>
        <member name="P:Polly.Context.OperationKey">
            <summary>
            Gets a key unique to the call site of the current execution.
            <remarks>Policy instances are commonly reused across multiple call sites.  Set an OperationKey so that logging and metrics can distinguish usages of policy instances at different call sites.</remarks>
            <remarks>The value is set by using the <see cref="M:Polly.Context.#ctor(System.String)"/> constructor taking an operationKey parameter.</remarks>
            </summary>
        </member>
        <member name="P:Polly.Context.CorrelationId">
            <summary>
            Gets a GUID guaranteed to be unique to each execution.
            <remarks>Acts as a correlation id so that events specific to a single execution can be identified in logging and telemetry.</remarks>
            </summary>
        </member>
        <member name="M:Polly.Context.#ctor(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Context"/> class, with the specified <paramref name="operationKey" /> and the supplied <paramref name="contextData"/>.
            </summary>
            <param name="operationKey">The operation key.</param>
            <param name="contextData">The context data.</param>
        </member>
        <member name="P:Polly.Context.Keys">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="P:Polly.Context.Values">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="P:Polly.Context.Count">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="P:Polly.Context.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,System#Object}}#IsReadOnly">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="P:Polly.Context.Item(System.String)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.Add(System.String,System.Object)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.ContainsKey(System.String)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.Remove(System.String)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.TryGetValue(System.String,System.Object@)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,System#Object}}#Add(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.Clear">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,System#Object}}#Contains(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,System#Object}}#CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Object}[],System.Int32)">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.System#Collections#Generic#ICollection{System#Collections#Generic#KeyValuePair{System#String,System#Object}}#Remove(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.GetEnumerator">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.System#Collections#IEnumerable#GetEnumerator">
            <inheritdoc cref="T:System.Collections.Generic.IDictionary`2"/>
        </member>
        <member name="M:Polly.Context.Add(System.Object,System.Object)">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="M:Polly.Context.Contains(System.Object)">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="M:Polly.Context.System#Collections#IDictionary#GetEnumerator">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="M:Polly.Context.Remove(System.Object)">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="M:Polly.Context.CopyTo(System.Array,System.Int32)">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="P:Polly.Context.System#Collections#Generic#IReadOnlyDictionary{System#String,System#Object}#Keys">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Context.System#Collections#Generic#IReadOnlyDictionary{System#String,System#Object}#Values">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Context.System#Collections#IDictionary#IsFixedSize">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="P:Polly.Context.System#Collections#IDictionary#IsReadOnly">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="P:Polly.Context.System#Collections#IDictionary#Keys">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Context.System#Collections#IDictionary#Values">
            <inheritdoc/>
        </member>
        <member name="P:Polly.Context.System#Collections#ICollection#IsSynchronized">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="P:Polly.Context.System#Collections#ICollection#SyncRoot">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="P:Polly.Context.System#Collections#IDictionary#Item(System.Object)">
            <inheritdoc cref="T:System.Collections.IDictionary"/>
        </member>
        <member name="T:Polly.DelegateResult`1">
            <summary>
            The captured outcome of executing an individual Func&lt;TResult&gt;.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.DelegateResult`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.DelegateResult`1"/> class representing an execution which returned <paramref name="result"/>.
            </summary>
            <param name="result">The result.</param>
        </member>
        <member name="M:Polly.DelegateResult`1.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.DelegateResult`1"/> class representing an execution which threw <paramref name="exception"/>.
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="P:Polly.DelegateResult`1.Result">
            <summary>
            Gets the result of executing the delegate. Will be default(TResult) if an exception was thrown.
            </summary>
        </member>
        <member name="P:Polly.DelegateResult`1.Exception">
            <summary>
            Gets the exception thrown while executing the delegate. Will be null if policy executed without exception.
            </summary>
        </member>
        <member name="T:Polly.ExceptionPredicate">
            <summary>
            A predicate that can be run against a passed <see cref="T:System.Exception"/> <paramref name="ex"/>.
            </summary>
            <param name="ex">The passed exception, against which to evaluate the predicate.</param>
            <returns>A matched <see cref="T:System.Exception"/>; or null, if an exception was not matched.  ExceptionPredicate implementations may return the passed Exception <paramref name="ex"/>, indicating that it matched the predicate. They may also return inner exceptions of the passed Exception <paramref name="ex"/>, to indicate that the returned inner exception matched the predicate.</returns>
        </member>
        <member name="T:Polly.ExceptionPredicates">
            <summary>
            A collection of predicates used to define whether a policy handles a given <see cref="T:System.Exception"/>.
            </summary>
        </member>
        <member name="M:Polly.ExceptionPredicates.FirstMatchOrDefault(System.Exception)">
            <summary>
            Assess whether the passed <see cref="T:System.Exception"/>, <paramref name="ex"/>, matches any of the predicates.
            <remarks>If the .HandleInner() method was used when configuring the policy, predicates may test whether any inner exceptions of <paramref name="ex"/> match and may return a matching inner exception.</remarks>
            </summary>
            <param name="ex">The exception to assess against the predicates.</param>
            <returns>The first exception to match a predicate; or null, if no match is found.</returns>
        </member>
        <member name="F:Polly.ExceptionPredicates.None">
            <summary>
            Specifies that no Exception-handling filters are applied or are required.
            </summary>
        </member>
        <member name="T:Polly.Fallback.AsyncFallbackPolicy">
            <summary>
            A fallback policy that can be applied to asynchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.Fallback.AsyncFallbackPolicy.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Fallback.AsyncFallbackPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Fallback.AsyncFallbackPolicy`1">
            <summary>
            A fallback policy that can be applied to delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Fallback.AsyncFallbackPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Fallback.FallbackPolicy">
            <summary>
            A fallback policy that can be applied to delegates.
            </summary>
        </member>
        <member name="M:Polly.Fallback.FallbackPolicy.Implementation(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Fallback.FallbackPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Fallback.FallbackPolicy`1">
            <summary>
            A fallback policy that can be applied to delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Fallback.FallbackPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Fallback.IFallbackPolicy">
            <summary>
            Defines properties and methods common to all Fallback policies.
            </summary>
        </member>
        <member name="T:Polly.Fallback.IFallbackPolicy`1">
            <summary>
            Defines properties and methods common to all Fallback policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.AsyncFallbackSyntax">
            <summary>
            Fluent API for defining a Fallback <see cref="T:Polly.AsyncPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.AsyncFallbackSyntax.FallbackAsync(Polly.PolicyBuilder,System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception, asynchronously calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackSyntax.FallbackAsync(Polly.PolicyBuilder,System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Func{System.Exception,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception; then asynchronously calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackSyntax.FallbackAsync(Polly.PolicyBuilder,System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Func{System.Exception,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception and execution context; then asynchronously calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackSyntax.FallbackAsync(Polly.PolicyBuilder,System.Func{System.Exception,Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Func{System.Exception,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception and execution context; then asynchronously calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="T:Polly.AsyncFallbackTResultSyntax">
            <summary>
            Fluent API for defining an async Fallback policy governing executions returning TResult.
            </summary>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},``0)">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, returns <paramref name="fallbackValue"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, asynchronously calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},``0,System.Func{Polly.DelegateResult{``0},System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception or result; then returns <paramref name="fallbackValue"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Func{Polly.DelegateResult{``0},System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception or result; then asynchronously calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},``0,System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception or result and the execution context; then returns <paramref name="fallbackValue"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception or result and the execution context; then asynchronously calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncFallbackTResultSyntax.FallbackAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Fallback.AsyncFallbackPolicy`1"/> which provides a fallback value if the main execution fails.  Executes the main delegate asynchronously, but if this throws a handled exception or raises a handled result, first asynchronously calls <paramref name="onFallbackAsync"/> with details of the handled exception or result and the execution context; then asynchronously calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback delegate.</param>
            <param name="onFallbackAsync">The action to call asynchronously before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallbackAsync"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="T:Polly.FallbackSyntax">
            <summary>
            Fluent API for defining a Fallback policy.
            </summary>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action)">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action{System.Threading.CancellationToken})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action,System.Action{System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, first calls <paramref name="onFallback"/> with details of the handled exception; then calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action{System.Threading.CancellationToken},System.Action{System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, first calls <paramref name="onFallback"/> with details of the handled exception; then calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action{Polly.Context},System.Action{System.Exception,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, first calls <paramref name="onFallback"/> with details of the handled exception and the execution context; then calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action{Polly.Context,System.Threading.CancellationToken},System.Action{System.Exception,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, first calls <paramref name="onFallback"/> with details of the handled exception and the execution context; then calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackSyntax.Fallback(Polly.PolicyBuilder,System.Action{System.Exception,Polly.Context,System.Threading.CancellationToken},System.Action{System.Exception,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback action if the main execution fails.  Executes the main delegate, but if this throws a handled exception, first calls <paramref name="onFallback"/> with details of the handled exception and the execution context; then calls <paramref name="fallbackAction"/>.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="T:Polly.FallbackTResultSyntax">
            <summary>
            Fluent API for defining a Fallback policy governing executions returning TResult.
            </summary>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},``0)">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, returns <paramref name="fallbackValue"/> instead.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{``0})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{System.Threading.CancellationToken,``0})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},``0,System.Action{Polly.DelegateResult{``0}})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result; then returns <paramref name="fallbackValue"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{``0},System.Action{Polly.DelegateResult{``0}})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result; then calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{System.Threading.CancellationToken,``0},System.Action{Polly.DelegateResult{``0}})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result; then calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},``0,System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result and the execution context; then returns <paramref name="fallbackValue"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackValue">The fallback <typeparamref name="TResult"/> value to provide.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{Polly.Context,``0},System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result and the execution context; then calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{Polly.Context,System.Threading.CancellationToken,``0},System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result and the execution context; then calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.FallbackTResultSyntax.Fallback``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.CancellationToken,``0},System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Fallback.FallbackPolicy"/> which provides a fallback value if the main execution fails.  Executes the main delegate, but if this throws a handled exception or raises a handled result, first calls <paramref name="onFallback"/> with details of the handled exception or result and the execution context; then calls <paramref name="fallbackAction"/> and returns its result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="fallbackAction">The fallback action.</param>
            <param name="onFallback">The action to call before invoking the fallback delegate.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="fallbackAction"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onFallback"/> is <see langword="null"/>.</exception>
            <returns>The policy instance.</returns>
        </member>
        <member name="T:Polly.IAsyncPolicy">
            <summary>
            An interface defining all executions available on a non-generic, asynchronous policy.
            </summary>
        </member>
        <member name="M:Polly.IAsyncPolicy.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.IAsyncPolicy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.IAsyncPolicy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy"/>.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{System.Threading.Tasks.Task})">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>A <see cref="T:System.Threading.Tasks.Task" /> which completes when <see cref="T:Polly.IAsyncPolicy"/> is registered.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.Tasks.Task})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>An instance of <see cref="T:Polly.PolicyResult"/>.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.Tasks.Task{``0}},Polly.Context)">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy.ExecuteAndCaptureAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="T:Polly.IAsyncPolicy`1">
            <summary>
            An interface defining all executions available on an asynchronous policy generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result of funcs executed through the Policy.</typeparam>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.IAsyncPolicy`1"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.IAsyncPolicy`1"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy`1"/>.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.Tasks.Task{`0}})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},Polly.Context)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy is in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.Tasks.Task{`0}})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.Tasks.Task{`0}},Polly.Context)">
            <summary>
            Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.IAsyncPolicy`1.ExecuteAndCaptureAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <summary>
                Executes the specified asynchronous action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">A cancellation token which can be used to cancel the action.  When a retry policy in use, also cancels any further retries.</param>
            <param name="continueOnCapturedContext">Whether to continue on a captured synchronization context.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.InvalidOperationException">Please use asynchronous-defined policies when calling asynchronous ExecuteAsync (and similar) methods.</exception>
        </member>
        <member name="T:Polly.IAsyncPolicyExtensions">
            <summary>
            Contains extensions methods on <see cref="T:Polly.IAsyncPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.IAsyncPolicyExtensions.AsAsyncPolicy``1(Polly.IAsyncPolicy)">
            <summary>
            Converts a non-generic <see cref="T:Polly.IAsyncPolicy"/> into a generic <see cref="T:Polly.IAsyncPolicy`1"/> for handling only executions returning <typeparamref name="TResult"/>.
            </summary>
            <remarks>This method allows you to convert a non-generic <see cref="T:Polly.IAsyncPolicy"/> into a generic <see cref="T:Polly.IAsyncPolicy`1"/> for contexts such as variables or parameters which may explicitly require a generic <see cref="T:Polly.IAsyncPolicy`1"/>. </remarks>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policy">The non-generic <see cref="T:Polly.IAsyncPolicy"/>  to convert to a generic <see cref="T:Polly.IAsyncPolicy`1"/>.</param>
            <returns>A generic <see cref="T:Polly.IAsyncPolicy`1"/> version of the supplied non-generic <see cref="T:Polly.IAsyncPolicy"/>.</returns>
        </member>
        <member name="T:Polly.IsPolicy">
            <summary>
            A marker interface identifying Polly policies of all types, and containing properties common to all policies.
            </summary>
        </member>
        <member name="P:Polly.IsPolicy.PolicyKey">
            <summary>
            Gets a key intended to be unique to each policy instance, which is passed with executions as the <see cref="P:Polly.Context.PolicyKey"/> property.
            </summary>
        </member>
        <member name="T:Polly.ISyncPolicy">
            <summary>
            An interface defining all executions available on a non-generic, synchronous policy.
            </summary>
        </member>
        <member name="M:Polly.ISyncPolicy.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy"/>.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action{Polly.Context},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action{Polly.Context},Polly.Context)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action{System.Threading.CancellationToken},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action{Polly.Context,System.Threading.CancellationToken},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{``0})">
            <summary>
            Executes the specified action within the policy and returns the Result.
            </summary>
            <typeparam name="TResult">The type of the Result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{Polly.Context,``0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{Polly.Context,``0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{System.Threading.CancellationToken,``0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.Execute``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action{Polly.Context},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action{Polly.Context},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action{System.Threading.CancellationToken},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action{Polly.Context,System.Threading.CancellationToken},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{``0})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{Polly.Context,``0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{Polly.Context,``0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{System.Threading.CancellationToken,``0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the t result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy.ExecuteAndCapture``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="T:Polly.ISyncPolicy`1">
            <summary>
            An interface defining all executions available on a synchronous policy generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result of funcs executed through the Policy.</typeparam>
        </member>
        <member name="M:Polly.ISyncPolicy`1.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy`1"/>.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{`0})">
            <summary>
            Executes the specified action within the policy and returns the Result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{Polly.Context,`0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{Polly.Context,`0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{System.Threading.CancellationToken,`0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{Polly.Context,System.Threading.CancellationToken,`0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.Execute(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{`0})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{Polly.Context,`0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{Polly.Context,`0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{System.Threading.CancellationToken,`0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{Polly.Context,System.Threading.CancellationToken,`0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ISyncPolicy`1.ExecuteAndCapture(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="T:Polly.ISyncPolicyExtensions">
            <summary>
            Contains extensions methods on <see cref="T:Polly.ISyncPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.ISyncPolicyExtensions.AsPolicy``1(Polly.ISyncPolicy)">
            <summary>
            Converts a non-generic <see cref="T:Polly.ISyncPolicy"/> into a generic <see cref="T:Polly.ISyncPolicy`1"/> for handling only executions returning <typeparamref name="TResult"/>.
            </summary>
            <remarks>This method allows you to convert a non-generic <see cref="T:Polly.ISyncPolicy"/> into a generic <see cref="T:Polly.ISyncPolicy`1"/> for contexts such as variables or parameters which may explicitly require a generic <see cref="T:Polly.ISyncPolicy`1"/>. </remarks>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policy">The non-generic <see cref="T:Polly.ISyncPolicy"/>  to convert to a generic <see cref="T:Polly.ISyncPolicy`1"/>.</param>
            <returns>A generic <see cref="T:Polly.ISyncPolicy`1"/> version of the supplied non-generic <see cref="T:Polly.ISyncPolicy"/>.</returns>
        </member>
        <member name="T:Polly.NoOp.AsyncNoOpPolicy">
            <summary>
            A noop policy that can be applied to asynchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.NoOp.AsyncNoOpPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.NoOp.AsyncNoOpPolicy`1">
            <summary>
            A noop policy that can be applied to asynchronous delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.NoOp.AsyncNoOpPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.NoOp.INoOpPolicy">
            <summary>
            Defines properties and methods common to all NoOp policies.
            </summary>
        </member>
        <member name="T:Polly.NoOp.INoOpPolicy`1">
            <summary>
            Defines properties and methods common to all NoOp policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.NoOp.NoOpPolicy">
            <summary>
            A no op policy that can be applied to delegates.
            </summary>
        </member>
        <member name="M:Polly.NoOp.NoOpPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.NoOp.NoOpPolicy`1">
            <summary>
            A no op policy that can be applied to delegates returning a value of type <typeparamref name="TResult" />.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
        </member>
        <member name="M:Polly.NoOp.NoOpPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Policy`1">
            <summary>
            Transient fault handling policies that can be applied to delegates returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of return value of the delegate that the policy will be applied to.</typeparam>
        </member>
        <member name="M:Polly.Policy`1.WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy`1"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy`1"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.Policy`1"/>.</returns>
        </member>
        <member name="M:Polly.Policy`1.Polly#ISyncPolicy{TResult}#WithPolicyKey(System.String)">
            <summary>
            Sets the PolicyKey for this <see cref="T:Polly.Policy`1"/> instance.
            <remarks>Must be called before the policy is first used.  Can only be set once.</remarks>
            </summary>
            <param name="policyKey">The unique, used-definable key to assign to this <see cref="T:Polly.Policy`1"/> instance.</param>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy`1"/>.</returns>
        </member>
        <member name="M:Polly.Policy`1.Handle``1">
            <summary>
            Specifies the type of exception that this policy can handle.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy`1.Handle``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle with additional filters on this exception type.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy`1.HandleInner``1">
            <summary>
            Specifies the type of exception that this policy can handle if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy`1.HandleInner``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle, with additional filters on this exception type, if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.Policy`1.HandleResult(System.Func{`0,System.Boolean})">
            <summary>
            Specifies a filter on the return result values that this strongly-typed generic policy will handle.
            </summary>
            <param name="resultPredicate">The predicate to filter the results this policy will handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy`1.HandleResult(`0)">
            <summary>
            Specifies a return result value which the strongly-typed generic policy will handle.
            </summary>
            <param name="result">The TResult value this policy will handle.</param>
            <remarks>This policy filter matches the <paramref name="result"/> value returned using .Equals(), ideally suited for value types such as int and enum.  To match characteristics of class return types, consider the overload taking a result predicate.</remarks>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.Policy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Defines the implementation of a policy for synchronous executions returning <typeparamref name="TResult"/>.
            </summary>
            <param name="action">The action passed by calling code to execute through the policy.</param>
            <param name="context">The policy execution context.</param>
            <param name="cancellationToken">A token to signal that execution should be cancelled.</param>
            <returns>A <typeparamref name="TResult"/> result of the execution.</returns>
        </member>
        <member name="M:Polly.Policy`1.#ctor(Polly.ExceptionPredicates,Polly.ResultPredicates{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Policy`1"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle.</param>
            <param name="resultPredicates">Predicates indicating which results the policy should handle.</param>
        </member>
        <member name="M:Polly.Policy`1.#ctor(Polly.PolicyBuilder{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Policy`1"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder`1"/> indicating which exceptions and results the policy should handle.</param>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{`0})">
            <summary>
            Executes the specified action within the policy and returns the Result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{Polly.Context,`0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{Polly.Context,`0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{System.Threading.CancellationToken,`0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{Polly.Context,System.Threading.CancellationToken,`0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.Execute(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The value returned by the action.</returns>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{`0})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{Polly.Context,`0},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{Polly.Context,`0},Polly.Context)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="context"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{System.Threading.CancellationToken,`0},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{Polly.Context,System.Threading.CancellationToken,`0},System.Collections.Generic.IDictionary{System.String,System.Object},System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="contextData">Arbitrary data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="contextData"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Policy`1.ExecuteAndCapture(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <summary>
            Executes the specified action within the policy and returns the captured result.
            </summary>
            <param name="action">The action to perform.</param>
            <param name="context">Context data that is passed to the exception policy.</param>
            <param name="cancellationToken">The cancellation token.</param>
            <returns>The captured result.</returns>
        </member>
        <member name="M:Polly.Policy`1.Wrap(Polly.ISyncPolicy)">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="M:Polly.Policy`1.Wrap(Polly.ISyncPolicy{`0})">
            <summary>
            Wraps the specified inner policy.
            </summary>
            <param name="innerPolicy">The inner policy.</param>
            <returns>PolicyWrap.PolicyWrap.</returns>
        </member>
        <member name="T:Polly.PolicyBase">
            <summary>
            Implements elements common to both non-generic and generic policies, and sync and async policies.
            </summary>
        </member>
        <member name="F:Polly.PolicyBase.policyKeyInternal">
            <summary>
            A key intended to be unique to each <see cref="T:Polly.IsPolicy"/> instance.
            </summary>
        </member>
        <member name="P:Polly.PolicyBase.PolicyKey">
            <summary>
            Gets a key intended to be unique to each <see cref="T:Polly.IsPolicy"/> instance, which is passed with executions as the <see cref="P:Polly.Context.PolicyKey"/> property.
            </summary>
        </member>
        <member name="M:Polly.PolicyBase.RestorePolicyContext(Polly.Context,System.String,System.String)">
            <summary>
            Restores the supplied keys to the execution <see cref="T:Polly.Context"/>.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to execution through this policy.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to execution through this policy.</param>
        </member>
        <member name="M:Polly.PolicyBase.SetPolicyContext(Polly.Context,System.String@,System.String@)">
            <summary>
            Updates the execution <see cref="T:Polly.Context"/> with context from the executing policy.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to changes by this method.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to changes by this method.</param>
        </member>
        <member name="F:Polly.PolicyBase.DefaultContinueOnCapturedContext">
            <summary>
            Defines a value to use for continueOnCaptureContext, when none is supplied.
            </summary>
        </member>
        <member name="P:Polly.PolicyBase.ExceptionPredicates">
            <summary>
            Gets the predicates indicating which exceptions the policy handles.
            </summary>
        </member>
        <member name="F:Polly.PolicyBase.DefaultCancellationToken">
            <summary>
            Defines a CancellationToken to use, when none is supplied.
            </summary>
        </member>
        <member name="M:Polly.PolicyBase.#ctor(Polly.ExceptionPredicates)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.PolicyBase"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle. </param>
        </member>
        <member name="M:Polly.PolicyBase.#ctor(Polly.PolicyBuilder)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.PolicyBase"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder"/> indicating which exceptions the policy should handle.</param>
        </member>
        <member name="T:Polly.PolicyBase`1">
            <summary>
            Implements elements common to sync and async generic policies.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="P:Polly.PolicyBase`1.ResultPredicates">
            <summary>
            Gets the predicates indicating which results the policy handles.
            </summary>
        </member>
        <member name="M:Polly.PolicyBase`1.#ctor(Polly.ExceptionPredicates,Polly.ResultPredicates{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.PolicyBase`1"/> class.
            </summary>
            <param name="exceptionPredicates">Predicates indicating which exceptions the policy should handle. </param>
            <param name="resultPredicates">Predicates indicating which results the policy should handle. </param>
        </member>
        <member name="M:Polly.PolicyBase`1.#ctor(Polly.PolicyBuilder{`0})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.PolicyBase`1"/> class.
            </summary>
            <param name="policyBuilder">A <see cref="T:Polly.PolicyBuilder"/> indicating which exceptions the policy should handle.</param>
        </member>
        <member name="T:Polly.PolicyBuilder">
            <summary>
            Builder class that holds the list of current exception predicates.
            </summary>
        </member>
        <member name="P:Polly.PolicyBuilder.ExceptionPredicates">
            <summary>
            Gets the predicates specifying exceptions that the policy is being configured to handle.
            </summary>
        </member>
        <member name="M:Polly.PolicyBuilder.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder.GetType">
            <summary>
            Gets the <see cref="T:System.Type" /> of the current instance.
            </summary>
            <returns>
            The <see cref="T:System.Type" /> instance that represents the exact runtime type of the current instance.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder.Or``1">
            <summary>
            Specifies the type of exception that this policy can handle.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder.Or``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle with additional filters on this exception type.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder.OrInner``1">
            <summary>
            Specifies the type of exception that this policy can handle if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder.OrInner``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle, with additional filters on this exception type, if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder.OrResult``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of result that this policy can handle with additional filters on the result.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="resultPredicate">The predicate to filter the results this policy will handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder.OrResult``1(``0)">
            <summary>
            Specifies a result value which the policy will handle.
            </summary>
            <typeparam name="TResult">The type of return values this policy will handle.</typeparam>
            <param name="result">The TResult value this policy will handle.</param>
            <remarks>This policy filter matches the <paramref name="result"/> value returned using .Equals(), ideally suited for value types such as int and enum.  To match characteristics of class return types, consider the overload taking a result predicate.</remarks>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="T:Polly.PolicyBuilder`1">
            <summary>
            Builder class that holds the list of current execution predicates filtering TResult result values.
            </summary>
            <typeparam name="TResult">The type of the result value that the execution predicates are filtering.</typeparam>
        </member>
        <member name="P:Polly.PolicyBuilder`1.ExceptionPredicates">
            <summary>
            Gets the predicates specifying exceptions that the policy is being configured to handle.
            </summary>
        </member>
        <member name="P:Polly.PolicyBuilder`1.ResultPredicates">
            <summary>
            Gets the predicates specifying results that the policy is being configured to handle.
            </summary>
        </member>
        <member name="M:Polly.PolicyBuilder`1.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object" /> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.GetType">
            <summary>
            Gets the <see cref="T:System.Type" /> of the current instance.
            </summary>
            <returns>
            The <see cref="T:System.Type" /> instance that represents the exact runtime type of the current instance.
            </returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.OrResult(System.Func{`0,System.Boolean})">
            <summary>
            Specifies the type of result that this policy can handle with additional filters on the result.
            </summary>
            <param name="resultPredicate">The predicate to filter the results this policy will handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.OrResult(`0)">
            <summary>
            Specifies a result value which the policy will handle.
            </summary>
            <param name="result">The TResult value this policy will handle.</param>
            <remarks>This policy filter matches the <paramref name="result"/> value returned using .Equals(), ideally suited for value types such as int and enum.  To match characteristics of class return types, consider the overload taking a result predicate.</remarks>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.Or``1">
            <summary>
            Specifies the type of exception that this policy can handle.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.Or``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle with additional filters on this exception type.
            </summary>
            <typeparam name="TException">The type of the exception.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.OrInner``1">
            <summary>
            Specifies the type of exception that this policy can handle if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="M:Polly.PolicyBuilder`1.OrInner``1(System.Func{``0,System.Boolean})">
            <summary>
            Specifies the type of exception that this policy can handle, with additional filters on this exception type, if found as an InnerException of a regular <see cref="T:System.Exception"/>, or at any level of nesting within an <see cref="T:System.AggregateException"/>.
            </summary>
            <typeparam name="TException">The type of the exception to handle.</typeparam>
            <param name="exceptionPredicate">The exception predicate to filter the type of exception this policy can handle.</param>
            <returns>The PolicyBuilder instance, for fluent chaining.</returns>
        </member>
        <member name="T:Polly.PolicyResult">
            <summary>
            The captured result of executing a policy.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult.Outcome">
            <summary>
             Gets the outcome of executing the policy.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult.FinalException">
            <summary>
            Gets the final exception captured. Will be null if policy executed successfully.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult.ExceptionType">
            <summary>
            Gets the exception type of the final exception captured. Will be null if policy executed successfully.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult.Context">
            <summary>
            Gets the context for this execution.
            </summary>
        </member>
        <member name="M:Polly.PolicyResult.Successful(Polly.Context)">
            <summary>
            Builds a <see cref="T:Polly.PolicyResult" /> representing a successful execution through the policy.
            </summary>
            <param name="context">The policy execution context.</param>
            <returns>
            A <see cref="T:Polly.PolicyResult" /> representing a successful execution through the policy.
            </returns>
        </member>
        <member name="M:Polly.PolicyResult.Failure(System.Exception,Polly.ExceptionType,Polly.Context)">
            <summary>
            Builds a <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </summary>
            <param name="exception">The exception.</param>
            <param name="exceptionType">The exception type.</param>
            <param name="context">The policy execution context.</param>
            <returns>
            A <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </returns>
        </member>
        <member name="T:Polly.PolicyResult`1">
            <summary>
            The captured result of executing a policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="P:Polly.PolicyResult`1.Outcome">
            <summary>
            Gets the outcome of executing the policy.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.FinalException">
            <summary>
            Gets the final exception captured. Will be null if policy executed without exception.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.ExceptionType">
            <summary>
            Gets the exception type of the final exception captured. Will be null if policy executed successfully.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.Result">
            <summary>
            Gets the result of executing the policy. Will be default(TResult) if the policy failed.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.FinalHandledResult">
            <summary>
            Gets the final handled result captured. Will be default(TResult) if the policy executed successfully, or terminated with an exception.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.FaultType">
            <summary>
            Gets the fault type of the final fault captured. Will be null if policy executed successfully.
            </summary>
        </member>
        <member name="P:Polly.PolicyResult`1.Context">
            <summary>
            Gets the context for this execution.
            </summary>
        </member>
        <member name="M:Polly.PolicyResult`1.Successful(`0,Polly.Context)">
            <summary>
            Builds a <see cref="T:Polly.PolicyResult" /> representing a successful execution through the policy.
            </summary>
            <param name="result">The result returned by execution through the policy.</param>
            <param name="context">The policy execution context.</param>
            <returns>
            A <see cref="T:Polly.PolicyResult" /> representing a successful execution through the policy.
            </returns>
        </member>
        <member name="M:Polly.PolicyResult`1.Failure(System.Exception,Polly.ExceptionType,Polly.Context)">
            <summary>
            Builds a <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </summary>
            <param name="exception">The exception.</param>
            <param name="exceptionType">The exception type.</param>
            <param name="context">The policy execution context.</param>
            <returns>
            A <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </returns>
        </member>
        <member name="M:Polly.PolicyResult`1.Failure(`0,Polly.Context)">
            <summary>
            Builds a <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </summary>
            <param name="handledResult">The result returned by execution through the policy, which was treated as a handled failure.</param>
            <param name="context">The policy execution context.</param>
            <returns>
            A <see cref="T:Polly.PolicyResult" /> representing a failed execution through the policy.
            </returns>
        </member>
        <member name="T:Polly.OutcomeType">
            <summary>
            Represents the outcome of executing a policy.
            </summary>
        </member>
        <member name="F:Polly.OutcomeType.Successful">
            <summary>
            Indicates that the policy ultimately executed successfully.
            </summary>
        </member>
        <member name="F:Polly.OutcomeType.Failure">
            <summary>
            Indicates that the policy ultimately failed.
            </summary>
        </member>
        <member name="T:Polly.ExceptionType">
            <summary>
            Represents the type of exception resulting from a failed policy.
            </summary>
        </member>
        <member name="F:Polly.ExceptionType.HandledByThisPolicy">
            <summary>
            An exception type that has been defined to be handled by this policy.
            </summary>
        </member>
        <member name="F:Polly.ExceptionType.Unhandled">
            <summary>
            An exception type that has been not been defined to be handled by this policy.
            </summary>
        </member>
        <member name="T:Polly.FaultType">
            <summary>
            Represents the type of outcome from a failed policy.
            </summary>
        </member>
        <member name="F:Polly.FaultType.ExceptionHandledByThisPolicy">
            <summary>
            An exception type that has been defined to be handled by this policy.
            </summary>
        </member>
        <member name="F:Polly.FaultType.UnhandledException">
            <summary>
            An exception type that has been not been defined to be handled by this policy.
            </summary>
        </member>
        <member name="F:Polly.FaultType.ResultHandledByThisPolicy">
            <summary>
            A result value that has been defined to be handled by this policy.
            </summary>
        </member>
        <member name="T:Polly.RateLimit.AsyncRateLimitPolicy">
            <summary>
            A rate-limit policy that can be applied to asynchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.AsyncRateLimitPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.RateLimit.AsyncRateLimitPolicy`1">
            <summary>
            A rate-limit policy that can be applied to asynchronous delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.RateLimit.AsyncRateLimitPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.RateLimit.IRateLimiter">
            <summary>
            Defines methods to be provided by a rate-limiter used in a Polly <see cref="T:Polly.RateLimit.IRateLimitPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.IRateLimiter.PermitExecution">
            <summary>
            Returns whether the execution is permitted; if not, returns what <see cref="T:System.TimeSpan"/> should be waited before retrying.
            <remarks>Calling this method consumes an execution permit if one is available: a caller receiving a return value true should make an execution.</remarks>
            </summary>
            <returns>
            A tuple whose first element is a value indicating whether the execution is permitted,
            and whose second element is the what <see cref="T:System.TimeSpan"/> should be waited before retrying.
            </returns>
        </member>
        <member name="T:Polly.RateLimit.IRateLimitPolicy">
            <summary>
            Defines properties and methods common to all RateLimit policies.
            </summary>
        </member>
        <member name="T:Polly.RateLimit.IRateLimitPolicy`1">
            <summary>
            Defines properties and methods common to all RateLimit policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.RateLimit.LockFreeTokenBucketRateLimiter">
            <summary>
            A lock-free token-bucket rate-limiter for a Polly <see cref="T:Polly.RateLimit.IRateLimitPolicy"/>.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.LockFreeTokenBucketRateLimiter.#ctor(System.TimeSpan,System.Int64)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.LockFreeTokenBucketRateLimiter"/> class.
            </summary>
            <param name="onePer">How often one execution is permitted.</param>
            <param name="bucketCapacity">The capacity of the token bucket.
            This equates to the maximum number of executions that will be permitted in a single burst (for example if none have been executed for a while).
            </param>
        </member>
        <member name="M:Polly.RateLimit.LockFreeTokenBucketRateLimiter.PermitExecution">
            <summary>
            Returns whether the execution is permitted; if not, returns what <see cref="T:System.TimeSpan"/> should be waited before retrying.
            </summary>
        </member>
        <member name="T:Polly.RateLimit.RateLimitPolicy">
            <summary>
            A rate-limit policy that can be applied to synchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.RateLimitPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.RateLimit.RateLimitPolicy`1">
            <summary>
            A rate-limit policy that can be applied to synchronous delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.RateLimit.RateLimitPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.RateLimit.RateLimitRejectedException">
            <summary>
            Exception thrown when a delegate executed through a <see cref="T:Polly.RateLimit.IRateLimitPolicy"/> is rate-limited.
            </summary>
        </member>
        <member name="P:Polly.RateLimit.RateLimitRejectedException.RetryAfter">
            <summary>
            Gets the timespan after which the operation may be retried.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="inner">The inner exception.</param>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.TimeSpan)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="retryAfter">The timespan after which the operation may be retried.</param>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.TimeSpan,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="retryAfter">The timespan after which the operation may be retried.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.TimeSpan,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="retryAfter">The timespan after which the operation may be retried.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Polly.RateLimit.RateLimitRejectedException.#ctor(System.TimeSpan,System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.RateLimit.RateLimitRejectedException"/> class.
            </summary>
            <param name="message">The message.</param>
            <param name="retryAfter">The timespan after which the operation may be retried.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:Polly.Registry.IConcurrentPolicyRegistry`1">
            <summary>
            Represents a collection of policies keyed by <typeparamref name="TKey"/> which can be updated and consumed in a thread-safe manner.
            </summary>
            <typeparam name="TKey">The type of keys in the policy registry.</typeparam>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.TryAdd``1(`0,``0)">
            <summary>
            Adds an element with the provided key and policy to the registry.
            </summary>
            <param name="key">The key for the policy.</param>
            <param name="policy">The policy to store in the registry.</param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if Policy was added. False otherwise.</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.TryRemove``1(`0,``0@)">
            <summary>
            Removes the policy stored under the specified <paramref name="key"/> from the registry.
            </summary>
            <param name="key">The <paramref name="key"/> of the policy to remove.</param>
            <param name="policy">
            This method returns the policy associated with the specified <paramref name="key"/>, if the
            key is found; otherwise null.
            This parameter is passed uninitialized.
            </param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if the policy is successfully removed. Otherwise false.</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.TryUpdate``1(`0,``0,``0)">
            <summary>
            Compares the existing policy for the specified key with a specified policy, and if they are equal, updates the policy with a third value.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key whose value is compared with comparisonPolicy, and possibly replaced.</param>
            <param name="newPolicy">The policy that replaces the value for the specified <paramref name="key"/>, if the comparison results in equality.</param>
            <param name="comparisonPolicy">The policy that is compared to the existing policy at the specified key.</param>
            <returns>True if the policy is successfully updated. Otherwise false.</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.GetOrAdd``1(`0,System.Func{`0,``0})">
            <summary>
            Adds a policy with the provided key and policy to the registry
            if the key does not already exist.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key of the policy to add.</param>
            <param name="policyFactory">The function used to generate a policy for the key.</param>
            <returns>The policy for the key. This will be either the existing policy for the key if the
            key is already in the registry, or the new policy for the key as returned by policyFactory
            if the key was not in the registry.</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.GetOrAdd``1(`0,``0)">
            <summary>
            Adds a key/policy pair to the registry
            if the key does not already exist.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key of the policy to add.</param>
            <param name="policy">The value to be added, if the key does not already exist.</param>
            <returns>The policy for the key. This will be either the existing policy for the key if the
            key is already in the registry, or the new policy if the key was not in the registry.</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.AddOrUpdate``1(`0,System.Func{`0,``0},System.Func{`0,``0,``0})">
            <summary>
            Adds a key/policy pair to the registry if the key does not already
            exist, or updates a key/policy pair in the registry if the key
            already exists.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key to be added or whose policy should be updated.</param>
            <param name="addPolicyFactory">The function used to generate a policy for an absent key.</param>
            <param name="updatePolicyFactory">The function used to generate a new policy for an existing key
            based on the key's existing value.</param>
            <returns>The new policy for the key. This will be either be the result of addPolicyFactory (if the key was
            absent) or the result of updatePolicyFactory (if the key was present).</returns>
        </member>
        <member name="M:Polly.Registry.IConcurrentPolicyRegistry`1.AddOrUpdate``1(`0,``0,System.Func{`0,``0,``0})">
            <summary>
            Adds a key/policy pair to the registry if the key does not already
            exist, or updates a key/policy pair in the registry if the key
            already exists.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key to be added or whose policy should be updated.</param>
            <param name="addPolicy">The policy to be added for an absent key.</param>
            <param name="updatePolicyFactory">The function used to generate a new policy for an existing key based on
            the key's existing value.</param>
            <returns>The new policy for the key. This will be either be addPolicy (if the key was
            absent) or the result of updatePolicyFactory (if the key was present).</returns>
        </member>
        <member name="T:Polly.Registry.IPolicyRegistry`1">
            <summary>
            Represents a collection of policies keyed by <typeparamref name="TKey"/>.
            </summary>
            <typeparam name="TKey">The type of keys in the policy registry.</typeparam>
        </member>
        <member name="M:Polly.Registry.IPolicyRegistry`1.Add``1(`0,``0)">
            <summary>
            Adds an element with the provided key and policy to the registry.
            </summary>
            <param name="key">The key for the policy.</param>
            <param name="policy">The policy to store in the registry.</param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentException">A Policy with same <paramref name="key"/> already exists.</exception>
        </member>
        <member name="P:Polly.Registry.IPolicyRegistry`1.Item(`0)">
            <summary>
            Gets or sets the <see cref="T:Polly.IsPolicy"/> with the specified key.
            <remarks>To retrieve a policy directly as a particular Policy type or Policy interface (avoiding a cast), use the <see cref="M:Polly.Registry.IReadOnlyPolicyRegistry`1.Get``1(`0)"/> method.</remarks>
            </summary>
            <param name="key">The key of the value to get or set.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The given key was not present in the dictionary.</exception>
            <returns>The value associated with the specified key.</returns>
        </member>
        <member name="M:Polly.Registry.IPolicyRegistry`1.Remove(`0)">
            <summary>
            Removes the policy stored under the specified <paramref name="key"/> from the registry.
            </summary>
            <param name="key">The key of the policy to remove.</param>
            <returns>True if the policy is successfully removed. Otherwise false.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Registry.IPolicyRegistry`1.Clear">
            <summary>
            Removes all keys and policies from registry.
            </summary>
        </member>
        <member name="T:Polly.Registry.IReadOnlyPolicyRegistry`1">
            <summary>
            Represents a read-only collection of policies keyed by <typeparamref name="TKey"/>.
            </summary>
            <typeparam name="TKey">The type of keys in the policy registry.</typeparam>
        </member>
        <member name="P:Polly.Registry.IReadOnlyPolicyRegistry`1.Item(`0)">
            <summary>
            Gets the <see cref="T:Polly.IsPolicy"/> with the specified key.
            <remarks>To retrieve a policy directly as a particular Policy type or Policy interface (avoiding a cast), use the <see cref="M:Polly.Registry.IReadOnlyPolicyRegistry`1.Get``1(`0)"/> method.</remarks>
            </summary>
            <param name="key">The key of the value to get or set.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The given key was not present in the dictionary.</exception>
            <returns>The value associated with the specified key.</returns>
        </member>
        <member name="M:Polly.Registry.IReadOnlyPolicyRegistry`1.Get``1(`0)">
            <summary>
            Gets the policy stored under the provided key, casting to <typeparamref name="TPolicy"/>.
            </summary>
            <param name="key">The key of the policy to get.</param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>The policy stored in the registry under the given key.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Registry.IReadOnlyPolicyRegistry`1.TryGet``1(`0,``0@)">
            <summary>
            Gets the policy stored under the provided key, casting to <typeparamref name="TPolicy"/>.
            </summary>
            <param name="key">The key of the policy to get.</param>
            <param name="policy">
            This method returns the policy associated with the specified <paramref name="key"/>, if the
            key is found; otherwise null.
            This parameter is passed uninitialized.
            </param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if Policy exists for the provided Key. False otherwise.</returns>
        </member>
        <member name="P:Polly.Registry.IReadOnlyPolicyRegistry`1.Count">
            <summary>
            Gets the total number of policies in the registry.
            </summary>
        </member>
        <member name="M:Polly.Registry.IReadOnlyPolicyRegistry`1.ContainsKey(`0)">
            <summary>
            Determines whether the specified <paramref name="key"/> exists.
            </summary>
            <param name="key">The Key to locate in the registry.</param>
            <returns>True if <paramref name="key"/> exists otherwise false.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.Registry.PolicyRegistry">
            <inheritdoc />
            <summary>
            Stores a registry of <see cref="T:System.String" /> and policy pairs.
            </summary>
            <remarks>Uses ConcurrentDictionary to store the collection.</remarks>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Registry.PolicyRegistry"/> class, with <see cref="T:System.String"/> keys.
            </summary>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.#ctor(System.Collections.Generic.IDictionary{System.String,Polly.IsPolicy})">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Registry.PolicyRegistry"/> class.
            <remarks>This internal constructor exists solely to facilitate testing of the GetEnumerator() methods, which allow us to support collection initialisation syntax.</remarks>
            </summary>
            <param name="registry">a dictionary containing keys and policies used for testing.</param>
        </member>
        <member name="P:Polly.Registry.PolicyRegistry.Count">
            <summary>
            Gets the total number of policies in the registry.
            </summary>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.Add``1(System.String,``0)">
            <summary>
            Adds a policy with the provided key and policy to the registry.
            </summary>
            <param name="key">The key for the policy.</param>
            <param name="policy">The policy to store in the registry.</param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentException">A Policy with same <paramref name="key"/> already exists.</exception>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.TryAdd``1(System.String,``0)">
            <summary>
            Adds a policy with the provided key and policy to the registry.
            </summary>
            <param name="key">The key for the policy.</param>
            <param name="policy">The policy to store in the registry.</param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if Policy was added. False otherwise.</returns>
        </member>
        <member name="P:Polly.Registry.PolicyRegistry.Item(System.String)">
            <summary>
            Gets of sets the <see cref="T:Polly.IsPolicy"/> with the specified key.
            <remarks>To retrieve a policy directly as a particular Policy type or Policy interface (avoiding a cast), use the <see cref="M:Polly.Registry.PolicyRegistry.Get``1(System.String)"/> method.</remarks>
            </summary>
            <param name="key">The key of the policy to get or set.</param>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The given key was not present in the registry.</exception>
            <returns>The policy associated with the specified key.</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.Get``1(System.String)">
            <summary>
            Gets the policy stored under the provided key, casting to <typeparamref name="TPolicy"/>.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key of the policy to get.</param>
            <returns>The policy stored in the registry under the given key.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.Collections.Generic.KeyNotFoundException">The given key was not present in the registry.</exception>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.TryGet``1(System.String,``0@)">
            <summary>
            Gets the policy stored under the provided key, casting to <typeparamref name="TPolicy"/>.
            </summary>
            <param name="key">The key of the policy to get.</param>
            <param name="policy">
            This method returns the policy associated with the specified <paramref name="key"/>, if the
            key is found; otherwise null.
            This parameter is passed uninitialized.
            </param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if Policy exists for the provided Key. False otherwise.</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.Clear">
            <summary>
            Removes all keys and policies from registry.
            </summary>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.ContainsKey(System.String)">
            <summary>
            Determines whether the specified <paramref name="key"/> exists.
            </summary>
            <param name="key">The key to locate in the registry.</param>
            <returns>True if <paramref name="key"/> exists otherwise false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.Remove(System.String)">
            <summary>
            Removes the policy stored under the specified <paramref name="key"/> from the registry.
            </summary>
            <param name="key">The <paramref name="key"/> of the policy to remove.</param>
            <returns>True if the policy is successfully removed. Otherwise false.</returns>
            <exception cref="T:System.ArgumentNullException"><paramref name="key"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.TryRemove``1(System.String,``0@)">
            <summary>
            Removes the policy stored under the specified <paramref name="key"/> from the registry.
            </summary>
            <param name="key">The <paramref name="key"/> of the policy to remove.</param>
            <param name="policy">
            This method returns the policy associated with the specified <paramref name="key"/>, if the
            key is found; otherwise null.
            This parameter is passed uninitialized.
            </param>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <returns>True if the policy is successfully removed. Otherwise false.</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.TryUpdate``1(System.String,``0,``0)">
            <summary>
            Compares the existing policy for the specified key with a specified policy, and if they are equal, updates the policy with a third value.
            </summary>
            <typeparam name="TPolicy">The type of the policy.</typeparam>
            <param name="key">The key whose value is compared with comparisonPolicy, and possibly replaced.</param>
            <param name="newPolicy">The policy that replaces the value for the specified <paramref name="key"/>, if the comparison results in equality.</param>
            <param name="comparisonPolicy">The policy that is compared to the existing policy at the specified key.</param>
            <returns>
            <see langword="true"/> if the value with <paramref name="key"/> was equal to <paramref name="comparisonPolicy"/> and
            replaced with <paramref name="newPolicy"/>; otherwise, <see langword="false"/>.
            </returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.GetOrAdd``1(System.String,System.Func{System.String,``0})">
            <summary>
            Adds a policy with the provided key and policy to the registry
            if the key does not already exist.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key of the policy to add.</param>
            <param name="policyFactory">The function used to generate a policy for the key.</param>
            <returns>The policy for the key.  This will be either the existing policy for the key if the
            key is already in the registry, or the new policy for the key as returned by policyFactory
            if the key was not in the registry.</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.GetOrAdd``1(System.String,``0)">
            <summary>
            Adds a key/policy pair to the registry
            if the key does not already exist.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key of the policy to add.</param>
            <param name="policy">the policy to be added, if the key does not already exist.</param>
            <returns>The policy for the key.  This will be either the existing policy for the key if the
            key is already in the registry, or the new policy if the key was not in the registry.</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.AddOrUpdate``1(System.String,System.Func{System.String,``0},System.Func{System.String,``0,``0})">
            <summary>
            Adds a key/policy pair to the registry if the key does not already
            exist, or updates a key/policy pair in the registry if the key
            already exists.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key to be added or whose policy should be updated.</param>
            <param name="addPolicyFactory">The function used to generate a policy for an absent key.</param>
            <param name="updatePolicyFactory">The function used to generate a new policy for an existing key
            based on the key's existing value.</param>
            <returns>The new policy for the key.  This will be either be the result of addPolicyFactory (if the key was
            absent) or the result of updatePolicyFactory (if the key was present).</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.AddOrUpdate``1(System.String,``0,System.Func{System.String,``0,``0})">
            <summary>
            Adds a key/policy pair to the registry if the key does not already
            exist, or updates a key/policy pair in the registry if the key
            already exists.
            </summary>
            <typeparam name="TPolicy">The type of Policy.</typeparam>
            <param name="key">The key to be added or whose policy should be updated.</param>
            <param name="addPolicy">The policy to be added for an absent key.</param>
            <param name="updatePolicyFactory">The function used to generate a new policy for an existing key based on
            the key's existing value.</param>
            <returns>The new policy for the key.  This will be either be addPolicy (if the key was
            absent) or the result of updatePolicyFactory (if the key was present).</returns>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.GetEnumerator">
            <summary>Returns an enumerator that iterates through the policy objects in the <see
            cref="T:Polly.Registry.PolicyRegistry"/>.</summary>
            <returns>An enumerator for the <see cref="T:Polly.Registry.PolicyRegistry"/>.</returns>
            <remarks>
            The enumerator returned from the registry is safe to use concurrently with
            reads and writes to the registry, however it does not represent a moment-in-time snapshot
            of the registry's contents.  The contents exposed through the enumerator may contain modifications
            made to the registry after <see cref="M:Polly.Registry.PolicyRegistry.GetEnumerator"/> was called.
            This is not considered a significant issue as typical usage of PolicyRegistry is for bulk population at app startup,
            with only infrequent changes to the PolicyRegistry during app running, if using PolicyRegistry for dynamic updates during running.
            </remarks>
        </member>
        <member name="M:Polly.Registry.PolicyRegistry.System#Collections#IEnumerable#GetEnumerator">
            <summary>Returns an enumerator that iterates through the policy objects in the <see
            cref="T:Polly.Registry.PolicyRegistry"/>.</summary>
            <returns>An enumerator for the <see cref="T:Polly.Registry.PolicyRegistry"/>.</returns>
            <remarks>
            The enumerator returned from the registry is safe to use concurrently with
            reads and writes to the registry, however it does not represent a moment-in-time snapshot
            of the registry's contents.  The contents exposed through the enumerator may contain modifications
            made to the registry after <see cref="M:Polly.Registry.PolicyRegistry.GetEnumerator"/> was called.
            This is not considered a significant issue as typical usage of PolicyRegistry is for bulk population at app startup,
            with only infrequent changes to the PolicyRegistry during app running, if using PolicyRegistry for dynamic updates during running.
            </remarks>
        </member>
        <member name="T:Polly.ResiliencePipelineConversionExtensions">
            <summary>
            Extensions for conversion of resilience strategies to policies.
            </summary>
        </member>
        <member name="M:Polly.ResiliencePipelineConversionExtensions.AsAsyncPolicy(Polly.ResiliencePipeline)">
            <summary>
            Converts a <see cref="T:Polly.ResiliencePipeline"/> to an <see cref="T:Polly.IAsyncPolicy"/>.
            </summary>
            <param name="strategy">The strategy instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy"/>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="strategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ResiliencePipelineConversionExtensions.AsAsyncPolicy``1(Polly.ResiliencePipeline{``0})">
            <summary>
            Converts a <see cref="T:Polly.ResiliencePipeline`1"/> to an <see cref="T:Polly.IAsyncPolicy`1"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="strategy">The strategy instance.</param>
            <returns>An instance of <see cref="T:Polly.IAsyncPolicy`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="strategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ResiliencePipelineConversionExtensions.AsSyncPolicy(Polly.ResiliencePipeline)">
            <summary>
            Converts a <see cref="T:Polly.ResiliencePipeline"/> to an <see cref="T:Polly.ISyncPolicy"/>.
            </summary>
            <param name="strategy">The strategy instance.</param>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy"/>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="strategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.ResiliencePipelineConversionExtensions.AsSyncPolicy``1(Polly.ResiliencePipeline{``0})">
            <summary>
            Converts a <see cref="T:Polly.ResiliencePipeline`1"/> to an <see cref="T:Polly.ISyncPolicy`1"/>.
            </summary>
            <param name="strategy">The strategy instance.</param>
            <typeparam name="TResult">The type of the result.</typeparam>
            <returns>An instance of <see cref="T:Polly.ISyncPolicy`1"/>.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="strategy"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.ResultPredicate`1">
            <summary>
            A predicate that can be run against a passed result value of type <typeparamref name="TResult"/>. Predicates are used to define whether policies handle the given result.
            </summary>
            <param name="result">The passed result, against which to evaluate the predicate.</param>
            <typeparam name="TResult">The type of results which this predicate can evaluate.</typeparam>
            <returns>True if the passed <paramref name="result"/> matched the predicate; otherwise, false.</returns>
        </member>
        <member name="T:Polly.ResultPredicates`1">
            <summary>
            A collection of predicates used to define whether a policy handles a given <typeparamref name="TResult"/> value.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.ResultPredicates`1.AnyMatch(`0)">
            <summary>
            Returns a bool indicating whether the passed <typeparamref name="TResult"/> value matched any predicates.
            </summary>
            <param name="result">The <typeparamref name="TResult"/> value to assess against the predicates.</param>
            <returns><see langword="true"/> if <typeparamref name="TResult"/> value matches any predicates. <see langword="false"/> otherwise.</returns>
        </member>
        <member name="F:Polly.ResultPredicates`1.None">
            <summary>
            Specifies that no result-handling filters are applied or are required.
            </summary>
        </member>
        <member name="T:Polly.Retry.AsyncRetryPolicy">
            <summary>
            A retry policy that can be applied to asynchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.Retry.AsyncRetryPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Retry.AsyncRetryPolicy`1">
            <summary>
            A retry policy that can be applied to asynchronous delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Retry.AsyncRetryPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Retry.IRetryPolicy">
            <summary>
            Defines properties and methods common to all Retry policies.
            </summary>
        </member>
        <member name="T:Polly.Retry.IRetryPolicy`1">
            <summary>
            Defines properties and methods common to all Retry policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.Retry.RetryPolicy">
            <summary>
            A retry policy that can be applied to synchronous delegates.
            </summary>
        </member>
        <member name="M:Polly.Retry.RetryPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Retry.RetryPolicy`1">
            <summary>
            A retry policy that can be applied to synchronous delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Retry.RetryPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.AsyncRetrySyntax">
            <summary>
                Fluent API for defining a <see cref="T:Polly.Retry.AsyncRetryPolicy" />.
            </summary>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder)">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry once.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Int32)">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry <paramref name="retryCount" /> times.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry once
                calling <paramref name="onRetry" /> on retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Func{System.Exception,System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry once
                calling <paramref name="onRetryAsync" /> on retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Int32,System.Action{System.Exception,System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Exception,System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Func{System.Exception,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry once
            calling <paramref name="onRetryAsync"/> on retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Int32,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Exception,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder)">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry indefinitely until the action succeeds.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Action{System.Exception})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry indefinitely
                calling <paramref name="onRetry" /> on each retry with the raised exception.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry indefinitely
                calling <paramref name="onRetry" /> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Exception,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry indefinitely
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Exception,System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will retry indefinitely
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Action{System.Exception,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Exception,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.RetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Exception,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry <paramref name="retryCount"/> times.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception and the current sleep duration.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception and the current sleep duration.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the raised exception and the current sleep duration.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception and the current sleep duration.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{System.Exception,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryAsync(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the raised exception, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.Int32,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception and retry count.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Func{System.Exception,System.Int32,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception and retry count.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.Int32,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetrySyntax.WaitAndRetryForeverAsync(Polly.PolicyBuilder,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Func{System.Exception,System.Int32,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy"/> that will wait and retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the raised exception, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.AsyncRetryTResultSyntax">
            <summary>
                Fluent API for defining an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" />.
            </summary>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry once.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Int32)">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry <paramref name="retryCount" /> times.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry once
                calling <paramref name="onRetry" /> on retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry once
                calling <paramref name="onRetryAsync" /> on retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{Polly.DelegateResult{``0},System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry once
            calling <paramref name="onRetryAsync"/> on retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{Polly.DelegateResult{``0},System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry indefinitely until the action succeeds.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0}})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry indefinitely
                calling <paramref name="onRetry" /> on each retry with the handled exception or result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry indefinitely
                calling <paramref name="onRetry" /> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry indefinitely
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},System.Int32,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will retry indefinitely
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.RetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{Polly.DelegateResult{``0},System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will retry indefinitely
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry <paramref name="retryCount"/> times.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result and the current sleep duration.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result and the current sleep duration.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry <paramref name="retryCount" /> times
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), result of previous execution, and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the handled exception or result and the current sleep duration.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result and the current sleep duration.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetry" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryAsync``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
                Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1" /> that will wait and retry as many times as there are provided
                <paramref name="sleepDurations" />
                calling <paramref name="onRetryAsync" /> on each retry with the handled exception or result, the current sleep duration, retry count, and context data.
                On each retry, the duration to wait is the current <paramref name="sleepDurations" /> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.Int32,System.TimeSpan})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result and retry count.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.AsyncRetryTResultSyntax.WaitAndRetryForeverAsync``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Func{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,Polly.Context,System.Threading.Tasks.Task})">
            <summary>
            Builds an <see cref="T:Polly.Retry.AsyncRetryPolicy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetryAsync"/> on each retry with the handled exception or result, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetryAsync">The action to call asynchronously on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetryAsync"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.RetrySyntax">
            <summary>
            Fluent API for defining a Retry <see cref="T:Polly.Policy"/>.
            </summary>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder)">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry once.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder,System.Int32)">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry <paramref name="retryCount"/> times.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder,System.Int32,System.Action{System.Exception,System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.Retry(Polly.PolicyBuilder,System.Int32,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.RetryForever(Polly.PolicyBuilder)">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry indefinitely until the action succeeds.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.RetryForever(Polly.PolicyBuilder,System.Action{System.Exception})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.RetryForever(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception and retry count.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.RetryForever(Polly.PolicyBuilder,System.Action{System.Exception,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.RetryForever(Polly.PolicyBuilder,System.Action{System.Exception,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and context data.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception and the current sleep duration.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Int32,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the raised exception and the current sleep duration.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration and context data.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetry(Polly.PolicyBuilder,System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{System.Exception,System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the raised exception, current sleep duration, retry count and context data.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,System.TimeSpan},System.Action{System.Exception,System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception and retry count.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous execution and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetrySyntax.WaitAndRetryForever(Polly.PolicyBuilder,System.Func{System.Int32,System.Exception,Polly.Context,System.TimeSpan},System.Action{System.Exception,System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the raised exception, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous exception and execution context.
            </summary>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.RetryTResultSyntax">
            <summary>
            Fluent API for defining a Retry <see cref="T:Polly.Policy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry once.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0},System.Int32)">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry <paramref name="retryCount"/> times.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0},System.Int32,System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry once
            calling <paramref name="onRetry"/> on retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.Retry``1(Polly.PolicyBuilder{``0},System.Int32,System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.RetryForever``1(Polly.PolicyBuilder{``0})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry indefinitely until the action succeeds.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.RetryForever``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0}})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.RetryForever``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and retry count.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.RetryForever``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.RetryForever``1(Polly.PolicyBuilder{``0},System.Action{Polly.DelegateResult{``0},System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will retry indefinitely
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and context data.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and the current sleep duration.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Int32,System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry <paramref name="retryCount"/> times
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration, retry count, and context data.
            On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider"/> with
            the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="retryCount">The retry count.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentOutOfRangeException">retryCount;Value must be greater than or equal to zero.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <returns>The policy instance.</returns>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and the current sleep duration.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration and context data.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetry``1(Polly.PolicyBuilder{``0},System.Collections.Generic.IEnumerable{System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,System.Int32,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry as many times as there are provided <paramref name="sleepDurations"/>
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, current sleep duration, retry count and context data.
            On each retry, the duration to wait is the current <paramref name="sleepDurations"/> item.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurations">The sleep durations to wait for on each retry.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurations"/> or <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">The function that provides the duration to wait for a particular retry attempt.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.Int32,System.TimeSpan})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and retry count.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc).
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc) and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="M:Polly.RetryTResultSyntax.WaitAndRetryForever``1(Polly.PolicyBuilder{``0},System.Func{System.Int32,Polly.DelegateResult{``0},Polly.Context,System.TimeSpan},System.Action{Polly.DelegateResult{``0},System.Int32,System.TimeSpan,Polly.Context})">
            <summary>
            Builds a <see cref="T:Polly.Policy`1"/> that will wait and retry indefinitely until the action succeeds,
            calling <paramref name="onRetry"/> on each retry with the handled exception or result, retry count and execution context.
                On each retry, the duration to wait is calculated by calling <paramref name="sleepDurationProvider" /> with
                the current retry number (1 for first retry, 2 for second etc), previous execution result and execution context.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="policyBuilder">The policy builder.</param>
            <param name="sleepDurationProvider">A function providing the duration to wait before retrying.</param>
            <param name="onRetry">The action to call on each retry.</param>
            <returns>The policy instance.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="sleepDurationProvider"/> is <see langword="null"/>.</exception>
            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="onRetry"/> is <see langword="null"/>.</exception>
        </member>
        <member name="T:Polly.Timeout.AsyncTimeoutPolicy">
            <summary>
            A timeout policy which can be applied to async delegates.
            </summary>
        </member>
        <member name="M:Polly.Timeout.AsyncTimeoutPolicy.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Timeout.AsyncTimeoutPolicy`1">
            <summary>
            A timeout policy which can be applied to async delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Timeout.AsyncTimeoutPolicy`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Timeout.ITimeoutPolicy">
            <summary>
            Defines properties and methods common to all Timeout policies.
            </summary>
        </member>
        <member name="T:Polly.Timeout.ITimeoutPolicy`1">
            <summary>
            Defines properties and methods common to all Timeout policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.Timeout.TimeoutPolicy">
            <summary>
            A timeout policy which can be applied to delegates.
            </summary>
        </member>
        <member name="M:Polly.Timeout.TimeoutPolicy.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Timeout.TimeoutPolicy`1">
            <summary>
            A timeout policy which can be applied to delegates returning a value of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="M:Polly.Timeout.TimeoutPolicy`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Timeout.TimeoutStrategy">
            <summary>
            Defines how timeouts are enforced.
            </summary>
        </member>
        <member name="F:Polly.Timeout.TimeoutStrategy.Optimistic">
            <summary>
            An optimistic <see cref="T:Polly.Timeout.TimeoutStrategy"/>. The <see cref="T:Polly.Timeout.TimeoutPolicy"/> relies on a timing-out <see cref="T:System.Threading.CancellationToken"/> to cancel executed delegates by co-operative cancellation.
            </summary>
        </member>
        <member name="F:Polly.Timeout.TimeoutStrategy.Pessimistic">
            <summary>
            A pessimistic <see cref="T:Polly.Timeout.TimeoutStrategy"/>. The <see cref="T:Polly.Timeout.TimeoutPolicy"/> will assume the delegates passed to be executed will not necessarily honor
            any timing-out <see cref="T:System.Threading.CancellationToken"/> but the policy will still guarantee timing out (and returning to the caller) by other means.
            </summary>
        </member>
        <member name="T:Polly.Utilities.EmptyStruct">
            <summary>
            A null struct for policies and actions which do not return a TResult.
            </summary>
        </member>
        <member name="T:Polly.Utilities.ExceptionExtensions">
            <summary>
            Contains extension methods on the <see cref="T:System.Exception"/> class.
            </summary>
        </member>
        <member name="M:Polly.Utilities.ExceptionExtensions.RethrowWithOriginalStackTraceIfDiffersFrom(System.Exception,System.Exception)">
            <summary>
            Rethrows the extended <see cref="T:System.Exception"/>, <paramref name="exceptionPossiblyToThrow"/>, using the <see cref="T:System.Runtime.ExceptionServices.ExceptionDispatchInfo"/> class to rethrow it with its original stack trace, if <paramref name="exceptionPossiblyToThrow"/> differs from <paramref name="exceptionToCompare"/>.
            </summary>
            <param name="exceptionPossiblyToThrow">The exception to throw, if it differs from <paramref name="exceptionToCompare"/>.</param>
            <param name="exceptionToCompare">The exception to compare against.</param>
        </member>
        <member name="T:Polly.Utilities.SystemClock">
            <summary>
            Time related delegates used to support different compilation targets and to improve testability of the code.
            </summary>
        </member>
        <member name="F:Polly.Utilities.SystemClock.Sleep">
            <summary>
            Allows the setting of a custom Thread.Sleep implementation for testing.
            By default this will use the <see cref="T:System.Threading.CancellationToken"/>'s <see cref="T:System.Threading.WaitHandle"/>.
            </summary>
        </member>
        <member name="F:Polly.Utilities.SystemClock.SleepAsync">
            <summary>
            Allows the setting of a custom async Sleep implementation for testing.
            By default this will be a call to <see cref="M:System.Threading.Tasks.Task.Delay(System.TimeSpan)"/> taking a <see cref="T:System.Threading.CancellationToken"/>.
            </summary>
        </member>
        <member name="F:Polly.Utilities.SystemClock.UtcNow">
            <summary>
            Allows the setting of a custom DateTime.UtcNow implementation for testing.
            By default this will be a call to <see cref="P:System.DateTime.UtcNow"/>.
            </summary>
        </member>
        <member name="F:Polly.Utilities.SystemClock.DateTimeOffsetUtcNow">
            <summary>
            Allows the setting of a custom DateTimeOffset.UtcNow implementation for testing.
            By default this will be a call to <see cref="P:System.DateTime.UtcNow"/>.
            </summary>
        </member>
        <member name="F:Polly.Utilities.SystemClock.CancelTokenAfter">
            <summary>
            Allows the setting of a custom method for cancelling tokens after a timespan, for use in testing.
            By default this will be a call to CancellationTokenSource.CancelAfter(timespan).
            </summary>
        </member>
        <member name="M:Polly.Utilities.SystemClock.Reset">
            <summary>
            Resets the custom implementations to their defaults.
            Should be called during test teardowns.
            </summary>
        </member>
        <member name="T:Polly.Utilities.TaskHelper">
            <summary>
            Task helpers.
            </summary>
        </member>
        <member name="F:Polly.Utilities.TaskHelper.EmptyTask">
            <summary>
            Defines a completed Task for use as a completed, empty asynchronous delegate.
            </summary>
        </member>
        <member name="M:Polly.Utilities.LockTimeoutException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Utilities.LockTimeoutException"/> class.
            </summary>
        </member>
        <member name="M:Polly.Utilities.LockTimeoutException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Utilities.LockTimeoutException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
        </member>
        <member name="M:Polly.Utilities.LockTimeoutException.#ctor(System.String,System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Polly.Utilities.LockTimeoutException"/> class.
            </summary>
            <param name="message">The message that describes the error.</param>
            <param name="innerException">The inner exception.</param>
        </member>
        <member name="T:Polly.Wrap.AsyncPolicyWrap">
            <summary>
            A policy that allows two (and by recursion more) async Polly policies to wrap executions of async delegates.
            </summary>
        </member>
        <member name="M:Polly.Wrap.AsyncPolicyWrap.SetPolicyContext(Polly.Context,System.String@,System.String@)">
            <summary>
            Updates the execution <see cref="T:Polly.Context"/> with context from the executing <see cref="T:Polly.Wrap.PolicyWrap"/>.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to changes by this method.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to changes by this method.</param>
        </member>
        <member name="P:Polly.Wrap.AsyncPolicyWrap.Outer">
            <summary>
            Gets the outer <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="P:Polly.Wrap.AsyncPolicyWrap.Inner">
            <summary>
            Gets the next inner <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="M:Polly.Wrap.AsyncPolicyWrap.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Wrap.AsyncPolicyWrap.ImplementationAsync``1(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{``0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Wrap.AsyncPolicyWrap`1">
            <summary>
            A policy that allows two (and by recursion more) async Polly policies to wrap executions of async delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Wrap.AsyncPolicyWrap`1.SetPolicyContext(Polly.Context,System.String@,System.String@)">
            <summary>
            Updates the execution <see cref="T:Polly.Context"/> with context from the executing <see cref="T:Polly.Wrap.PolicyWrap`1"/>.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to changes by this method.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to changes by this method.</param>
        </member>
        <member name="P:Polly.Wrap.AsyncPolicyWrap`1.Outer">
            <summary>
            Gets the outer <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap`1"/>.
            </summary>
        </member>
        <member name="P:Polly.Wrap.AsyncPolicyWrap`1.Inner">
            <summary>
            Gets the next inner <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap`1"/>.
            </summary>
        </member>
        <member name="M:Polly.Wrap.AsyncPolicyWrap`1.ImplementationAsync(System.Func{Polly.Context,System.Threading.CancellationToken,System.Threading.Tasks.Task{`0}},Polly.Context,System.Threading.CancellationToken,System.Boolean)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Wrap.IPolicyWrap">
            <summary>
            Defines properties and methods common to all PolicyWrap policies.
            </summary>
        </member>
        <member name="P:Polly.Wrap.IPolicyWrap.Outer">
            <summary>
            Gets the outer <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="P:Polly.Wrap.IPolicyWrap.Inner">
            <summary>
            Gets the next inner <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="T:Polly.Wrap.IPolicyWrap`1">
            <summary>
            Defines properties and methods common to all PolicyWrap policies generic-typed for executions returning results of type <typeparamref name="TResult"/>.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
        </member>
        <member name="T:Polly.Wrap.IPolicyWrapExtension">
            <summary>
            Extension methods for IPolicyWrap.
            </summary>
        </member>
        <member name="M:Polly.Wrap.IPolicyWrapExtension.GetPolicies(Polly.Wrap.IPolicyWrap)">
            <summary>
            Returns all the policies in this <see cref="T:Polly.Wrap.IPolicyWrap"/>, in Outer-to-Inner order.
            </summary>
            <param name="policyWrap">The <see cref="T:Polly.Wrap.IPolicyWrap"/> for which to return policies.</param>
            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of all the policies in the wrap.</returns>
        </member>
        <member name="M:Polly.Wrap.IPolicyWrapExtension.GetPolicies``1(Polly.Wrap.IPolicyWrap)">
            <summary>
            Returns all the policies in this <see cref="T:Polly.Wrap.IPolicyWrap"/> of type <typeparamref name="TPolicy"/>, in Outer-to-Inner order.
            </summary>
            <param name="policyWrap">The <see cref="T:Polly.Wrap.IPolicyWrap"/> for which to return policies.</param>
            <typeparam name="TPolicy">The type of policies to return.</typeparam>
            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of all the policies of the given type.</returns>
        </member>
        <member name="M:Polly.Wrap.IPolicyWrapExtension.GetPolicies``1(Polly.Wrap.IPolicyWrap,System.Func{``0,System.Boolean})">
            <summary>
            Returns all the policies in this <see cref="T:Polly.Wrap.IPolicyWrap"/> of type <typeparamref name="TPolicy"/> matching the filter, in Outer-to-Inner order.
            </summary>
            <param name="policyWrap">The <see cref="T:Polly.Wrap.IPolicyWrap"/> for which to return policies.</param>
            <param name="filter">A filter to apply to any policies of type <typeparamref name="TPolicy"/> found.</param>
            <typeparam name="TPolicy">The type of policies to return.</typeparam>
            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of all the policies of the given type, matching the filter.</returns>
        </member>
        <member name="M:Polly.Wrap.IPolicyWrapExtension.GetPolicy``1(Polly.Wrap.IPolicyWrap)">
            <summary>
            Returns the single policy in this <see cref="T:Polly.Wrap.IPolicyWrap"/> of type <typeparamref name="TPolicy"/>.
            </summary>
            <param name="policyWrap">The <see cref="T:Polly.Wrap.IPolicyWrap"/> for which to search for the policy.</param>
            <typeparam name="TPolicy">The type of policy to return.</typeparam>
            <returns>A <typeparamref name="TPolicy"/> if one is found; else null.</returns>
            <throws>InvalidOperationException, if more than one policy of the type is found in the wrap.</throws>
        </member>
        <member name="M:Polly.Wrap.IPolicyWrapExtension.GetPolicy``1(Polly.Wrap.IPolicyWrap,System.Func{``0,System.Boolean})">
            <summary>
            Returns the single policy in this <see cref="T:Polly.Wrap.IPolicyWrap"/> of type <typeparamref name="TPolicy"/> matching the filter.
            </summary>
            <param name="policyWrap">The <see cref="T:Polly.Wrap.IPolicyWrap"/> for which to search for the policy.</param>
            <param name="filter">A filter to apply to any policies of type <typeparamref name="TPolicy"/> found.</param>
            <typeparam name="TPolicy">The type of policy to return.</typeparam>
            <returns>A matching <typeparamref name="TPolicy"/> if one is found; else null.</returns>
            <throws>InvalidOperationException, if more than one policy of the type is found in the wrap.</throws>
        </member>
        <member name="T:Polly.Wrap.PolicyWrap">
            <summary>
            A policy that allows two (and by recursion more) Polly policies to wrap executions of delegates.
            </summary>
        </member>
        <member name="M:Polly.Wrap.PolicyWrap.SetPolicyContext(Polly.Context,System.String@,System.String@)">
            <summary>
            Updates the execution <see cref="T:Polly.Context"/> with context from the executing <see cref="T:Polly.Wrap.PolicyWrap"/>.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to changes by this method.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to changes by this method.</param>
        </member>
        <member name="P:Polly.Wrap.PolicyWrap.Outer">
            <summary>
            Gets the outer <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="P:Polly.Wrap.PolicyWrap.Inner">
            <summary>
            Gets the next inner <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap"/>.
            </summary>
        </member>
        <member name="M:Polly.Wrap.PolicyWrap.Implementation(System.Action{Polly.Context,System.Threading.CancellationToken},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="M:Polly.Wrap.PolicyWrap.Implementation``1(System.Func{Polly.Context,System.Threading.CancellationToken,``0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.Wrap.PolicyWrap`1">
            <summary>
            A policy that allows two (and by recursion more) Polly policies to wrap executions of delegates.
            </summary>
            <typeparam name="TResult">The return type of delegates which may be executed through the policy.</typeparam>
        </member>
        <member name="M:Polly.Wrap.PolicyWrap`1.SetPolicyContext(Polly.Context,System.String@,System.String@)">
            <summary>
            Updates the execution <see cref="T:Polly.Context"/> with context from the executing <see cref="T:Polly.Wrap.PolicyWrap`1"/>.
            </summary>
            <param name="executionContext">The execution <see cref="T:Polly.Context"/>.</param>
            <param name="priorPolicyWrapKey">The <see cref="P:Polly.Context.PolicyWrapKey"/> prior to changes by this method.</param>
            <param name="priorPolicyKey">The <see cref="P:Polly.Context.PolicyKey"/> prior to changes by this method.</param>
        </member>
        <member name="P:Polly.Wrap.PolicyWrap`1.Outer">
            <summary>
            Gets the outer <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap`1"/>.
            </summary>
        </member>
        <member name="P:Polly.Wrap.PolicyWrap`1.Inner">
            <summary>
            Gets the next inner <see cref="T:Polly.IsPolicy"/> in this <see cref="T:Polly.Wrap.IPolicyWrap`1"/>.
            </summary>
        </member>
        <member name="M:Polly.Wrap.PolicyWrap`1.Implementation(System.Func{Polly.Context,System.Threading.CancellationToken,`0},Polly.Context,System.Threading.CancellationToken)">
            <inheritdoc/>
        </member>
        <member name="T:Polly.IAsyncPolicyPolicyWrapExtensions">
            <summary>
            Defines extensions for configuring <see cref="T:Polly.Wrap.PolicyWrap"/> instances on an <see cref="T:Polly.IAsyncPolicy"/> or <see cref="T:Polly.IAsyncPolicy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.IAsyncPolicyPolicyWrapExtensions.WrapAsync(Polly.IAsyncPolicy,Polly.IAsyncPolicy)">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicyPolicyWrapExtensions.WrapAsync``1(Polly.IAsyncPolicy,Polly.IAsyncPolicy{``0})">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicyPolicyWrapExtensions.WrapAsync``1(Polly.IAsyncPolicy{``0},Polly.IAsyncPolicy)">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.IAsyncPolicyPolicyWrapExtensions.WrapAsync``1(Polly.IAsyncPolicy{``0},Polly.IAsyncPolicy{``0})">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="T:Polly.ISyncPolicyPolicyWrapExtensions">
            <summary>
            Defines extensions for configuring <see cref="T:Polly.Wrap.PolicyWrap"/> instances on an <see cref="T:Polly.ISyncPolicy"/> or <see cref="T:Polly.ISyncPolicy`1"/>.
            </summary>
        </member>
        <member name="M:Polly.ISyncPolicyPolicyWrapExtensions.Wrap(Polly.ISyncPolicy,Polly.ISyncPolicy)">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.ISyncPolicyPolicyWrapExtensions.Wrap``1(Polly.ISyncPolicy,Polly.ISyncPolicy{``0})">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.ISyncPolicyPolicyWrapExtensions.Wrap``1(Polly.ISyncPolicy{``0},Polly.ISyncPolicy)">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="M:Polly.ISyncPolicyPolicyWrapExtensions.Wrap``1(Polly.ISyncPolicy{``0},Polly.ISyncPolicy{``0})">
            <summary>
            Wraps the specified outer policy round the inner policy.
            </summary>
            <typeparam name="TResult">The type of the result.</typeparam>
            <param name="outerPolicy">The outer policy.</param>
            <param name="innerPolicy">The inner policy.</param>
            <returns>A <see cref="T:Polly.Wrap.PolicyWrap"/> instance representing the combined wrap.</returns>
        </member>
        <member name="T:System.Diagnostics.DebuggerDisableUserUnhandledExceptionsAttribute">
            <summary>
            If a .NET Debugger is attached which supports the Debugger.BreakForUserUnhandledException(Exception) API,
            this attribute will prevent the debugger from breaking on user-unhandled exceptions when the
            exception is caught by a method with this attribute, unless BreakForUserUnhandledException is called.
            </summary>
        </member>
    </members>
</doc>
