Interface IAsyncStreamReader<T>
A stream of messages to be read.
Messages can be awaited await reader.MoveNext()
, that returns true
if there is a message available and false
if there are no more messages
(i.e. the stream has been closed).
On the client side, the last invocation of MoveNext()
either returns false
if the call has finished successfully or throws RpcException
if call finished
with an error. Once the call finishes, subsequent invocations of MoveNext()
will
continue yielding the same result (returning false
or throwing an exception).
On the server side, MoveNext()
does not throw exceptions.
In case of a failure, the request stream will appear to be finished
(MoveNext
will return false
) and the CancellationToken
associated with the call will be cancelled to signal the failure.
MoveNext()
operations can be cancelled via a cancellation token. Cancelling
an individual read operation has the same effect as cancelling the entire call
(which will also result in the read operation returning prematurely), but the per-read cancellation
tokens passed to MoveNext() only result in cancelling the call if the read operation haven't finished
yet.
Namespace: Grpc.Core
Assembly: Grpc.Core.Api.dll
Syntax
public interface IAsyncStreamReader<T> : IAsyncEnumerator<T>
Type Parameters
Name | Description |
---|---|
T | The message type. |