public sealed class AsyncResponseStream<TResponse> : IAsyncEnumerable<TResponse>, IAsyncEnumerator<TResponse>, IAsyncDisposableAn adapter from the gRPC stream representation (IAsyncStreamReader<T>) to IAsyncEnumerable<T> and IAsyncEnumerator<T>. Note that GetAsyncEnumerator(CancellationToken) can only be called once per instance due to the "only iterate once" nature of the response stream.
Namespace
Google.Api.Gax.GrpcAssembly
Google.Api.Gax.Grpc.dll
Type Parameter |
|
|---|---|
| Name | Description |
TResponse |
The response type. |
Remarks
This type implements both of the standard asynchronous sequence interfaces for simplicity of use:
- C# 8 users can use
await foreachbecause it implements IAsyncEnumerable<T> - It's compatible with the System.Linq.Async package for query transformations.
- Pre-C# 8 users who will be calling MoveNextAsync() and Current directly don't need to call GetAsyncEnumerator(CancellationToken).
Properties
Current
public TResponse Current { get; }Gets the element in the collection at the current position of the enumerator.
| Property Value | |
|---|---|
| Type | Description |
TResponse |
|
Methods
DisposeAsync()
public ValueTask DisposeAsync()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
| Returns | |
|---|---|
| Type | Description |
ValueTask |
|
GetAsyncEnumerator(CancellationToken)
public IAsyncEnumerator<TResponse> GetAsyncEnumerator(CancellationToken cancellationToken = default)Begins iterating over the response stream, using the specified cancellation token. This method can only be called once per instance.
| Parameter | |
|---|---|
| Name | Description |
cancellationToken |
CancellationTokenThe cancellation token to use in subsequent MoveNextAsync() calls. |
| Returns | |
|---|---|
| Type | Description |
IAsyncEnumerator |
An iterator over the response stream. |
| Exceptions | |
|---|---|
| Type | Description |
InvalidOperationException |
This method has already been called on this instance. |
MoveNextAsync()
public ValueTask<bool> MoveNextAsync()Moves to the next item, using the cancellation token configured by GetAsyncEnumerator(CancellationToken).
| Returns | |
|---|---|
| Type | Description |
ValueTaskbool |
|
MoveNextAsync(CancellationToken)
public ValueTask<bool> MoveNextAsync(CancellationToken cancellationToken)Moves to the next item, using the specified cancellation token.
| Parameter | |
|---|---|
| Name | Description |
cancellationToken |
CancellationTokenThe cancellation token to use for this step. |
| Returns | |
|---|---|
| Type | Description |
ValueTaskbool |
A task that will complete with a result of true if the enumerator was successfully advanced to the next element, or false if the enumerator has passed the end of the collection. |