Azure.Core.Pipeline.TaskExtensions
namespace Azure.Core.Pipeline
{
internal static class TaskExtensions
{
public readonly struct Enumerable<T> : IEnumerable<T>, IEnumerable
{
public Enumerable(IAsyncEnumerable<T> asyncEnumerable);
public Enumerator<T> GetEnumerator();
}
public readonly struct Enumerator<T> : IEnumerator<T>, IEnumerator, IDisposable
{
public T Current { get; }
public Enumerator(IAsyncEnumerator<T> asyncEnumerator);
public bool MoveNext();
public void Reset();
public void Dispose();
}
public readonly struct WithCancellationTaskAwaitable
{
public WithCancellationTaskAwaitable(Task task, CancellationToken cancellationToken);
public WithCancellationTaskAwaiter GetAwaiter();
}
public readonly struct WithCancellationTaskAwaitable<T>
{
public WithCancellationTaskAwaitable(Task<T> task, CancellationToken cancellationToken);
public WithCancellationTaskAwaiter<T> GetAwaiter();
}
public readonly struct WithCancellationValueTaskAwaitable<T>
{
public WithCancellationValueTaskAwaitable(ValueTask<T> task, CancellationToken cancellationToken);
public WithCancellationValueTaskAwaiter<T> GetAwaiter();
}
public readonly struct WithCancellationTaskAwaiter : ICriticalNotifyCompletion, INotifyCompletion
{
public bool IsCompleted { get; }
public WithCancellationTaskAwaiter(ConfiguredTaskAwaitable.ConfiguredTaskAwaiter awaiter, CancellationToken cancellationToken);
public void OnCompleted(Action continuation);
public void UnsafeOnCompleted(Action continuation);
public void GetResult();
}
public readonly struct WithCancellationTaskAwaiter<T> : ICriticalNotifyCompletion, INotifyCompletion
{
public bool IsCompleted { get; }
public WithCancellationTaskAwaiter(ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter awaiter, CancellationToken cancellationToken);
public void OnCompleted(Action continuation);
public void UnsafeOnCompleted(Action continuation);
public T GetResult();
}
public readonly struct WithCancellationValueTaskAwaiter<T> : ICriticalNotifyCompletion, INotifyCompletion
{
public bool IsCompleted { get; }
public WithCancellationValueTaskAwaiter(ConfiguredValueTaskAwaitable<T>.ConfiguredValueTaskAwaiter awaiter, CancellationToken cancellationToken);
public void OnCompleted(Action continuation);
public void UnsafeOnCompleted(Action continuation);
public T GetResult();
}
public static WithCancellationTaskAwaitable AwaitWithCancellation(this Task task, CancellationToken cancellationToken);
public static WithCancellationTaskAwaitable<T> AwaitWithCancellation<T>(this Task<T> task, CancellationToken cancellationToken);
public static WithCancellationValueTaskAwaitable<T> AwaitWithCancellation<T>(this ValueTask<T> task, CancellationToken cancellationToken);
public static T EnsureCompleted<T>(this Task<T> task);
public static void EnsureCompleted(this Task task);
public static T EnsureCompleted<T>(this ValueTask<T> task);
public static void EnsureCompleted(this ValueTask task);
public static Enumerable<T> EnsureSyncEnumerable<T>(this IAsyncEnumerable<T> asyncEnumerable);
public static ConfiguredValueTaskAwaitable<T> EnsureCompleted<T>(this ConfiguredValueTaskAwaitable<T> awaitable, bool async);
public static ConfiguredValueTaskAwaitable EnsureCompleted(this ConfiguredValueTaskAwaitable awaitable, bool async);
}
}