Class AsyncResponseStream<TResponse> (4.4.0)

public sealed class AsyncResponseStream<TResponse> : IAsyncEnumerable<TResponse>, IAsyncEnumerator<TResponse>, IAsyncDisposable

An 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.

Inheritance

object > AsyncResponseStream<TResponse>

Namespace

Google.Api.Gax.Grpc

Assembly

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:

Properties

Current

public TResponse Current { get; }
Property Value
Type Description
TResponse

Methods

DisposeAsync()

public ValueTask DisposeAsync()
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 CancellationToken

The 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 CancellationToken

The 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.