Class AsyncServerStreamingCall<TResponse>
Return type for server streaming calls.
Inheritance
Implements
Inherited Members
Namespace: Grpc.Core
Assembly: Grpc.Core.Api.dll
Syntax
public sealed class AsyncServerStreamingCall<TResponse> : IDisposable
Type Parameters
Name | Description |
---|---|
TResponse | Response message type for this call. |
Constructors
AsyncServerStreamingCall(IAsyncStreamReader<TResponse>, Func<Object, Task<Metadata>>, Func<Object, Status>, Func<Object, Metadata>, Action<Object>, Object)
Creates a new AsyncDuplexStreamingCall object with the specified properties.
Declaration
public AsyncServerStreamingCall(IAsyncStreamReader<TResponse> responseStream, Func<object, Task<Metadata>> responseHeadersAsync, Func<object, Status> getStatusFunc, Func<object, Metadata> getTrailersFunc, Action<object> disposeAction, object state)
Parameters
Type | Name | Description |
---|---|---|
IAsyncStreamReader<TResponse> | responseStream | Stream of response values. |
System.Func<System.Object, System.Threading.Tasks.Task<Metadata>> | responseHeadersAsync | Response headers of the asynchronous call. |
System.Func<System.Object, Status> | getStatusFunc | Delegate returning the status of the call. |
System.Func<System.Object, Metadata> | getTrailersFunc | Delegate returning the trailing metadata of the call. |
System.Action<System.Object> | disposeAction | Delegate to invoke when Dispose is called on the call object. |
System.Object | state | State object for use with the callback parameters. |
AsyncServerStreamingCall(IAsyncStreamReader<TResponse>, Task<Metadata>, Func<Status>, Func<Metadata>, Action)
Creates a new AsyncDuplexStreamingCall object with the specified properties.
Declaration
public AsyncServerStreamingCall(IAsyncStreamReader<TResponse> responseStream, Task<Metadata> responseHeadersAsync, Func<Status> getStatusFunc, Func<Metadata> getTrailersFunc, Action disposeAction)
Parameters
Type | Name | Description |
---|---|---|
IAsyncStreamReader<TResponse> | responseStream | Stream of response values. |
System.Threading.Tasks.Task<Metadata> | responseHeadersAsync | Response headers of the asynchronous call. |
System.Func<Status> | getStatusFunc | Delegate returning the status of the call. |
System.Func<Metadata> | getTrailersFunc | Delegate returning the trailing metadata of the call. |
System.Action | disposeAction | Delegate to invoke when Dispose is called on the call object. |
Properties
ResponseHeadersAsync
Asynchronous access to response headers.
Declaration
public Task<Metadata> ResponseHeadersAsync { get; }
Property Value
Type | Description |
---|---|
System.Threading.Tasks.Task<Metadata> |
ResponseStream
Async stream to read streaming responses.
Declaration
public IAsyncStreamReader<TResponse> ResponseStream { get; }
Property Value
Type | Description |
---|---|
IAsyncStreamReader<TResponse> |
Methods
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.
Declaration
public void Dispose()
Implements
Remarks
Normally, there is no need for you to dispose the call unless you want to utilize the
"Cancel" semantics of invoking Dispose
.
GetStatus()
Gets the call status if the call has already finished. Throws InvalidOperationException otherwise.
Declaration
public Status GetStatus()
Returns
Type | Description |
---|---|
Status |
GetTrailers()
Gets the call trailing metadata if the call has already finished. Throws InvalidOperationException otherwise.
Declaration
public Metadata GetTrailers()
Returns
Type | Description |
---|---|
Metadata |