/// <summary> /// Executes a function with the retry logic specified on the ReliableConnection. /// </summary> /// <typeparam name="TResult">The type of the result of the function.</typeparam> /// <param name="function">The function to execute and return.</param> /// <returns>The return value of the function.</returns> private Task <TResult> ExecuteWithRetryAsync <TResult>(Func <Task <TResult> > function) { return(_retryStrategy.ExecuteWithRetryAsync(this, function)); }