Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Add CancellationToken parameter to GetAsyncEnumerator #21397

Merged
merged 1 commit into from Dec 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -2,14 +2,17 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System.Threading;

namespace System.Collections.Generic
{
/// <summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
/// <typeparam name="T">The type of values to enumerate.</typeparam>
public interface IAsyncEnumerable<out T>
{
/// <summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
/// <param name="cancellationToken">A <see cref="CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
/// <returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
IAsyncEnumerator<T> GetAsyncEnumerator();
IAsyncEnumerator<T> GetAsyncEnumerator(CancellationToken cancellationToken = default);
}
}
Expand Up @@ -4,6 +4,7 @@

using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading;
using System.Threading.Tasks;
using System.Threading.Tasks.Sources;

Expand All @@ -21,8 +22,8 @@ internal ConfiguredAsyncEnumerable(IAsyncEnumerable<T> enumerable, bool continue
_continueOnCapturedContext = continueOnCapturedContext;
}

public Enumerator GetAsyncEnumerator() =>
new Enumerator(_enumerable.GetAsyncEnumerator(), _continueOnCapturedContext);
public Enumerator GetAsyncEnumerator(CancellationToken cancellationToken = default) =>
new Enumerator(_enumerable.GetAsyncEnumerator(cancellationToken), _continueOnCapturedContext);

public readonly struct Enumerator
{
Expand Down