public sealed class AsyncServerStreamingCall<TResponse> : IDisposable
Return type for server streaming calls.
Implements
IDisposableNamespace
Grpc.CoreAssembly
Grpc.Core.Api.dll
Type Parameter
TResponse
Response message type for this call.
Constructors
AsyncServerStreamingCall(IAsyncStreamReader<TResponse>, Func<object, Task<Metadata>>, Func<object, Status>, Func<object, Metadata>, Action<object>, object)
public AsyncServerStreamingCall(IAsyncStreamReader<TResponse> responseStream, Func<object, Task<Metadata>> responseHeadersAsync, Func<object, Status> getStatusFunc, Func<object, Metadata> getTrailersFunc, Action<object> disposeAction, object state)
Creates a new AsyncDuplexStreamingCall object with the specified properties.
responseStream
state
AsyncServerStreamingCall(IAsyncStreamReader<TResponse>, Task<Metadata>, Func<Status>, Func<Metadata>, Action)
public AsyncServerStreamingCall(IAsyncStreamReader<TResponse> responseStream, Task<Metadata> responseHeadersAsync, Func<Status> getStatusFunc, Func<Metadata> getTrailersFunc, Action disposeAction)
Creates a new AsyncDuplexStreamingCall object with the specified properties.
responseStream
disposeAction
Properties
ResponseHeadersAsync
public Task<Metadata> ResponseHeadersAsync { get; }
Asynchronous access to response headers.
ResponseStream
public IAsyncStreamReader<TResponse> ResponseStream { get; }
Async stream to read streaming responses.
Methods
Dispose()
public void Dispose()
Provides means to cleanup after the call. If the call has already finished normally (response stream has been fully read), doesn't do anything. Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call. As a result, all resources being used by the call should be released eventually.
Normally, there is no need for you to dispose the call unless you want to utilize the
"Cancel" semantics of invoking Dispose
.
GetStatus()
public Status GetStatus()
Gets the call status if the call has already finished. Throws InvalidOperationException otherwise.
GetTrailers()
public Metadata GetTrailers()
Gets the call trailing metadata if the call has already finished. Throws InvalidOperationException otherwise.