Table of Contents

Interface IRpcInvoker

Namespace
DotBoxD.Services.Server
Assembly
DotBoxD.Services.dll

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

service string

The remote service name.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Returns

Task

InvokeAsyncEnumerableAsync<T>(string, string, CancellationToken)

Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableAsync<T>(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

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

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<IAsyncEnumerable<T>>

Type Parameters

TRequest
T

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<IAsyncEnumerable<T>>

Type Parameters

TRequest
T

InvokeAsyncEnumerableOnInstanceAsync<T>(string, string, string, CancellationToken)

Task<IAsyncEnumerable<T>> InvokeAsyncEnumerableOnInstanceAsync<T>(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<IAsyncEnumerable<T>>

Type Parameters

TRequest
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[]? streams = null, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<IAsyncEnumerable<T>>

Type Parameters

TRequest
T

InvokeAsyncEnumerableOnInstance<T>(string, string, string, CancellationToken)

IAsyncEnumerable<T> InvokeAsyncEnumerableOnInstance<T>(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

Returns

IAsyncEnumerable<T>

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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

TRequest
T

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

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

TRequest
T

InvokeAsyncEnumerable<T>(string, string, CancellationToken)

IAsyncEnumerable<T> InvokeAsyncEnumerable<T>(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

Returns

IAsyncEnumerable<T>

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

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

TRequest
T

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

IAsyncEnumerable<T>

Type Parameters

TRequest
T

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

service string

The remote service name.

method string

The method to invoke.

ct CancellationToken

Cancellation 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

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task

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

service string

The remote service name.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Returns

Task

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

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

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

service string

The remote service name.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

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

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Returns

Task

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

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

ct CancellationToken

Cancellation 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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task

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

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task

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

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Returns

Task

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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

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

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

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

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Returns

Task<TResponse>

Type Parameters

TRequest
TResponse

InvokePipeAsync(string, string, CancellationToken)

Task<Pipe> InvokePipeAsync(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

Returns

Task<Pipe>

InvokePipeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)

Task<Pipe> InvokePipeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

Parameters

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<Pipe>

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<Pipe>

Type Parameters

TRequest

InvokePipeOnInstanceAsync(string, string, string, CancellationToken)

Task<Pipe> InvokePipeOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

Returns

Task<Pipe>

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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<Pipe>

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

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<Pipe>

Type Parameters

TRequest

InvokeStreamAsync(string, string, CancellationToken)

Task<Stream> InvokeStreamAsync(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

Returns

Task<Stream>

InvokeStreamAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)

Task<Stream> InvokeStreamAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

Parameters

service string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<Stream>

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

service string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<Stream>

Type Parameters

TRequest

InvokeStreamOnInstanceAsync(string, string, string, CancellationToken)

Task<Stream> InvokeStreamOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

Returns

Task<Stream>

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

service string
instanceId string
method string
request TRequest
stream RpcStreamAttachment
ct CancellationToken

Returns

Task<Stream>

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

service string
instanceId string
method string
request TRequest
streams RpcStreamAttachment[]
ct CancellationToken

Returns

Task<Stream>

Type Parameters

TRequest

InvokeValueAsync(string, string, CancellationToken)

ValueTask InvokeValueAsync(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

Returns

ValueTask

InvokeValueAsync<TResponse>(string, string, CancellationToken)

ValueTask<TResponse> InvokeValueAsync<TResponse>(string service, string method, CancellationToken ct = default)

Parameters

service string
method string
ct CancellationToken

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

service string
method string
request TRequest
ct CancellationToken

Returns

ValueTask

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

service string
method string
request TRequest
ct CancellationToken

Returns

ValueTask<TResponse>

Type Parameters

TRequest
TResponse

InvokeValueOnInstanceAsync(string, string, string, CancellationToken)

ValueTask InvokeValueOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

Returns

ValueTask

InvokeValueOnInstanceAsync<TResponse>(string, string, string, CancellationToken)

ValueTask<TResponse> InvokeValueOnInstanceAsync<TResponse>(string service, string instanceId, string method, CancellationToken ct = default)

Parameters

service string
instanceId string
method string
ct CancellationToken

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

service string
instanceId string
method string
request TRequest
ct CancellationToken

Returns

ValueTask

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

service string
instanceId string
method string
request TRequest
ct CancellationToken

Returns

ValueTask<TResponse>

Type Parameters

TRequest
TResponse

ReleaseStream(RpcStreamHandle)

Releases a stream id reservation that was never attached to an RPC request.

void ReleaseStream(RpcStreamHandle handle)

Parameters

handle RpcStreamHandle

ReserveStream(RpcStreamKind)

Reserves a stream id for a streamed argument sent by this peer.

RpcStreamHandle ReserveStream(RpcStreamKind kind)

Parameters

kind RpcStreamKind

Returns

RpcStreamHandle