Class DeferredStream<TDelta, TResult>
- Lazy stream wrapper: does not run async preparation until enumeration actually starts.
- Factory is executed at most once; concurrent enumerators will await the same init task.
- Cancellation token passed to GetAsyncEnumerator is used for factory + inner enumerator.
Inheritance
DeferredStream<TDelta, TResult>
Assembly: Glitch9.IO.dll
Syntax
public sealed class DeferredStream<TDelta, TResult> : IStream<TDelta, TResult>, IUniTaskAsyncEnumerable<StreamEvent<TDelta, TResult>> where TResult : IResult
Type Parameters
| Name |
Description |
| TDelta |
|
| TResult |
|
Constructors
|
Edit this page
View Source
DeferredStream(Func<CancellationToken, UniTask<IStream<TDelta, TResult>>>)
Declaration
public DeferredStream(Func<CancellationToken, UniTask<IStream<TDelta, TResult>>> factory)
Parameters
Methods
|
Edit this page
View Source
GetAsyncEnumerator(CancellationToken)
Declaration
public IUniTaskAsyncEnumerator<StreamEvent<TDelta, TResult>> GetAsyncEnumerator(CancellationToken cancellationToken = default)
Parameters
Returns
| Type |
Description |
| IUniTaskAsyncEnumerator<StreamEvent<TDelta, TResult>> |
|
Implements
Cysharp.Threading.Tasks.IUniTaskAsyncEnumerable<T>
Extension Methods