Interface IRpcInvoker
The call surface a generated proxy uses to invoke methods the other side provides. Implemented by RpcPeer. This is the transport-agnostic invoke contract with no notion of "client" or "connect" — a peer simply forwards calls.
public interface IRpcInvoker
Methods
InvokeAsync(string, string, CancellationToken)
Invokes a method with neither a request nor a response body.
Task InvokeAsync(string service, string method, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
methodstringThe method to invoke.
ctCancellationTokenCancellation token.
Returns
InvokeAsyncEnumerableAsync<T>(string, string, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableAsync<T>(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
T
InvokeAsyncEnumerableAsync<TRequest, T>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableAsync<TRequest, T>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
TRequestT
InvokeAsyncEnumerableAsync<TRequest, T>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableAsync<TRequest, T>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
TRequestT
InvokeAsyncEnumerableOnInstanceAsync<T>(string, string, string, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableOnInstanceAsync<T>(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
T
InvokeAsyncEnumerableOnInstanceAsync<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableOnInstanceAsync<TRequest, T>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
TRequestT
InvokeAsyncEnumerableOnInstanceAsync<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableOnInstanceAsync<TRequest, T>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
- Task<IAsyncEnumerable<T>>
Type Parameters
TRequestT
InvokeAsyncEnumerableOnInstance<T>(string, string, string, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerableOnInstance<T>(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
Type Parameters
T
InvokeAsyncEnumerableOnInstance<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerableOnInstance<TRequest, T>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequestT
InvokeAsyncEnumerableOnInstance<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerableOnInstance<TRequest, T>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequestT
InvokeAsyncEnumerable<T>(string, string, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerable<T>(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
Type Parameters
T
InvokeAsyncEnumerable<TRequest, T>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerable<TRequest, T>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequestT
InvokeAsyncEnumerable<TRequest, T>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
IAsyncEnumerable<T> InvokeAsyncEnumerable<TRequest, T>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequestT
InvokeAsync<TResponse>(string, string, CancellationToken)
Invokes a method with no request body and a response body.
Task<TResponse> InvokeAsync<TResponse>(string service, string method, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
methodstringThe method to invoke.
ctCancellationTokenCancellation token.
Returns
- Task<TResponse>
Type Parameters
TResponse
InvokeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task InvokeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[], CancellationToken)
Invokes a no-response method with a request body that references streamed arguments.
Task InvokeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment[] streams, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokeAsync<TRequest>(string, string, TRequest, CancellationToken)
Invokes a method with a request body and no response body.
Task InvokeAsync<TRequest>(string service, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
methodstringThe method to invoke.
requestTRequestThe request payload.
ctCancellationTokenCancellation token.
Returns
Type Parameters
TRequest
InvokeAsync<TRequest, TResponse>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<TResponse> InvokeAsync<TRequest, TResponse>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokeAsync<TRequest, TResponse>(string, string, TRequest, RpcStreamAttachment[], CancellationToken)
Invokes a method with a request body that references streamed arguments.
Task<TResponse> InvokeAsync<TRequest, TResponse>(string service, string method, TRequest request, RpcStreamAttachment[] streams, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokeAsync<TRequest, TResponse>(string, string, TRequest, CancellationToken)
Invokes a method with a request body and a response body.
Task<TResponse> InvokeAsync<TRequest, TResponse>(string service, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
methodstringThe method to invoke.
requestTRequestThe request payload.
ctCancellationTokenCancellation token.
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokeOnInstanceAsync(string, string, string, CancellationToken)
Invokes an instance-scoped method with neither a request nor a response body.
Task InvokeOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
instanceIdstringThe target instance identifier.
methodstringThe method to invoke.
ctCancellationTokenCancellation token.
Returns
InvokeOnInstanceAsync<TResponse>(string, string, string, CancellationToken)
Invokes an instance-scoped method with no request body and a response body.
Task<TResponse> InvokeOnInstanceAsync<TResponse>(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
instanceIdstringThe target instance identifier.
methodstringThe method to invoke.
ctCancellationTokenCancellation token.
Returns
- Task<TResponse>
Type Parameters
TResponse
InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task InvokeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[], CancellationToken)
Task InvokeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[] streams, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, CancellationToken)
Invokes an instance-scoped method with a request body and no response body.
Task InvokeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
instanceIdstringThe target instance identifier.
methodstringThe method to invoke.
requestTRequestThe request payload.
ctCancellationTokenCancellation token.
Returns
Type Parameters
TRequest
InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<TResponse> InvokeOnInstanceAsync<TRequest, TResponse>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, RpcStreamAttachment[], CancellationToken)
Task<TResponse> InvokeOnInstanceAsync<TRequest, TResponse>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[] streams, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, CancellationToken)
Invokes a method on a specific remote sub-service instance.
Task<TResponse> InvokeOnInstanceAsync<TRequest, TResponse>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringThe remote service name.
instanceIdstringThe target instance identifier.
methodstringThe method to invoke.
requestTRequestThe request payload.
ctCancellationTokenCancellation token.
Returns
- Task<TResponse>
Type Parameters
TRequestTResponse
InvokePipeAsync(string, string, CancellationToken)
Task<Pipe> InvokePipeAsync(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
InvokePipeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<Pipe> InvokePipeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokePipeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<Pipe> InvokePipeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokePipeOnInstanceAsync(string, string, string, CancellationToken)
Task<Pipe> InvokePipeOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
InvokePipeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<Pipe> InvokePipeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokePipeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<Pipe> InvokePipeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokeStreamAsync(string, string, CancellationToken)
Task<Stream> InvokeStreamAsync(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
InvokeStreamAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<Stream> InvokeStreamAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokeStreamAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<Stream> InvokeStreamAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokeStreamOnInstanceAsync(string, string, string, CancellationToken)
Task<Stream> InvokeStreamOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
InvokeStreamOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)
Task<Stream> InvokeStreamOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamRpcStreamAttachmentctCancellationToken
Returns
Type Parameters
TRequest
InvokeStreamOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)
Task<Stream> InvokeStreamOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequeststreamsRpcStreamAttachment[]ctCancellationToken
Returns
Type Parameters
TRequest
InvokeValueAsync(string, string, CancellationToken)
ValueTask InvokeValueAsync(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
InvokeValueAsync<TResponse>(string, string, CancellationToken)
ValueTask<TResponse> InvokeValueAsync<TResponse>(string service, string method, CancellationToken ct = default)
Parameters
servicestringmethodstringctCancellationToken
Returns
- ValueTask<TResponse>
Type Parameters
TResponse
InvokeValueAsync<TRequest>(string, string, TRequest, CancellationToken)
ValueTask InvokeValueAsync<TRequest>(string service, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequestctCancellationToken
Returns
Type Parameters
TRequest
InvokeValueAsync<TRequest, TResponse>(string, string, TRequest, CancellationToken)
ValueTask<TResponse> InvokeValueAsync<TRequest, TResponse>(string service, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringmethodstringrequestTRequestctCancellationToken
Returns
- ValueTask<TResponse>
Type Parameters
TRequestTResponse
InvokeValueOnInstanceAsync(string, string, string, CancellationToken)
ValueTask InvokeValueOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
InvokeValueOnInstanceAsync<TResponse>(string, string, string, CancellationToken)
ValueTask<TResponse> InvokeValueOnInstanceAsync<TResponse>(string service, string instanceId, string method, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringctCancellationToken
Returns
- ValueTask<TResponse>
Type Parameters
TResponse
InvokeValueOnInstanceAsync<TRequest>(string, string, string, TRequest, CancellationToken)
ValueTask InvokeValueOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequestctCancellationToken
Returns
Type Parameters
TRequest
InvokeValueOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, CancellationToken)
ValueTask<TResponse> InvokeValueOnInstanceAsync<TRequest, TResponse>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)
Parameters
servicestringinstanceIdstringmethodstringrequestTRequestctCancellationToken
Returns
- ValueTask<TResponse>
Type Parameters
TRequestTResponse
ReleaseStream(RpcStreamHandle)
Releases a stream id reservation that was never attached to an RPC request.
void ReleaseStream(RpcStreamHandle handle)
Parameters
handleRpcStreamHandle
ReserveStream(RpcStreamKind)
Reserves a stream id for a streamed argument sent by this peer.
RpcStreamHandle ReserveStream(RpcStreamKind kind)
Parameters
kindRpcStreamKind