Skip to content

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 DotBoxD.Services.Peer.RpcPeer. This is the transport-agnostic invoke contract with no notion of “client” or “connect” — a peer simply forwards calls.

public interface IRpcInvoker

InvokeAsync<TRequest, TResponse>(string, string, TRequest, CancellationToken)

Section titled “ 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)

service string

The remote service name.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Task<TResponse>

TRequest

TResponse

InvokeAsync<TRequest, TResponse>(string, string, TRequest, RpcStreamAttachment[], CancellationToken)

Section titled “ 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)

service string

method string

request TRequest

streams RpcStreamAttachment[]

ct CancellationToken

Task<TResponse>

TRequest

TResponse

InvokeAsync<TResponse>(string, string, CancellationToken)

Section titled “ 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)

service string

The remote service name.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Task<TResponse>

TResponse

InvokeAsync<TRequest>(string, string, TRequest, CancellationToken)

Section titled “ 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)

service string

The remote service name.

method string

The method to invoke.

request TRequest

The request payload.

ct CancellationToken

Cancellation token.

Task

TRequest

InvokeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[], CancellationToken)

Section titled “ 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)

service string

method string

request TRequest

streams RpcStreamAttachment[]

ct CancellationToken

Task

TRequest

InvokeAsync(string, string, CancellationToken)

Section titled “ InvokeAsync(string, string, CancellationToken)”

Invokes a method with neither a request nor a response body.

Task InvokeAsync(string service, string method, CancellationToken ct = default)

service string

The remote service name.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Task

InvokeAsync<TRequest, TResponse>(string, string, TRequest, RpcStreamAttachment, CancellationToken)

Section titled “ InvokeAsync<TRequest, TResponse>(string, string, TRequest, RpcStreamAttachment, CancellationToken)”
Task<TResponse> InvokeAsync<TRequest, TResponse>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<TResponse>

TRequest

TResponse

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

Section titled “ InvokeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment, CancellationToken)”
Task InvokeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task

TRequest

InvokeAsyncEnumerable<T>(string, string, CancellationToken)

Section titled “ InvokeAsyncEnumerable<T>(string, string, CancellationToken)”
IAsyncEnumerable<T> InvokeAsyncEnumerable<T>(string service, string method, CancellationToken ct = default)

service string

method string

ct CancellationToken

IAsyncEnumerable<T>

T

InvokeAsyncEnumerable<TRequest, T>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

IAsyncEnumerable<T>

TRequest

T

InvokeAsyncEnumerable<TRequest, T>(string, string, TRequest, RpcStreamAttachment, CancellationToken)

Section titled “ InvokeAsyncEnumerable<TRequest, T>(string, string, TRequest, RpcStreamAttachment, CancellationToken)”
IAsyncEnumerable<T> InvokeAsyncEnumerable<TRequest, T>(string service, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

IAsyncEnumerable<T>

TRequest

T

InvokeAsyncEnumerableAsync<T>(string, string, CancellationToken)

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

service string

method string

ct CancellationToken

Task<IAsyncEnumerable<T>>

T

InvokeAsyncEnumerableAsync<TRequest, T>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<IAsyncEnumerable<T>>

TRequest

T

InvokeAsyncEnumerableAsync<TRequest, T>(string, string, TRequest, RpcStreamAttachment, CancellationToken)

Section titled “ 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)

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<IAsyncEnumerable<T>>

TRequest

T

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

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

service string

instanceId string

method string

ct CancellationToken

IAsyncEnumerable<T>

T

InvokeAsyncEnumerableOnInstance<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

IAsyncEnumerable<T>

TRequest

T

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

Section titled “ 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)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

IAsyncEnumerable<T>

TRequest

T

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

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

service string

instanceId string

method string

ct CancellationToken

Task<IAsyncEnumerable<T>>

T

InvokeAsyncEnumerableOnInstanceAsync<TRequest, T>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<IAsyncEnumerable<T>>

TRequest

T

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

Section titled “ 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)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<IAsyncEnumerable<T>>

TRequest

T

InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, CancellationToken)

Section titled “ 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)

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.

Task<TResponse>

TRequest

TResponse

InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, RpcStreamAttachment[], CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]

ct CancellationToken

Task<TResponse>

TRequest

TResponse

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

Section titled “ 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)

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Task<TResponse>

TResponse

InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, CancellationToken)

Section titled “ 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)

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.

Task

TRequest

InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[], CancellationToken)

Section titled “ InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[], CancellationToken)”
Task InvokeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment[] streams, CancellationToken ct = default)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]

ct CancellationToken

Task

TRequest

InvokeOnInstanceAsync(string, string, string, CancellationToken)

Section titled “ 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)

service string

The remote service name.

instanceId string

The target instance identifier.

method string

The method to invoke.

ct CancellationToken

Cancellation token.

Task

InvokeOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<TResponse>

TRequest

TResponse

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

Section titled “ InvokeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment, CancellationToken)”
Task InvokeOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, RpcStreamAttachment stream, CancellationToken ct = default)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task

TRequest

InvokePipeAsync(string, string, CancellationToken)

Section titled “ InvokePipeAsync(string, string, CancellationToken)”
Task<Pipe> InvokePipeAsync(string service, string method, CancellationToken ct = default)

service string

method string

ct CancellationToken

Task<Pipe>

InvokePipeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ InvokePipeAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)”
Task<Pipe> InvokePipeAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)

service string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<Pipe>

TRequest

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

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

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<Pipe>

TRequest

InvokePipeOnInstanceAsync(string, string, string, CancellationToken)

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

service string

instanceId string

method string

ct CancellationToken

Task<Pipe>

InvokePipeOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<Pipe>

TRequest

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

Section titled “ 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)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<Pipe>

TRequest

InvokeStreamAsync(string, string, CancellationToken)

Section titled “ InvokeStreamAsync(string, string, CancellationToken)”
Task<Stream> InvokeStreamAsync(string service, string method, CancellationToken ct = default)

service string

method string

ct CancellationToken

Task<Stream>

InvokeStreamAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ InvokeStreamAsync<TRequest>(string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)”
Task<Stream> InvokeStreamAsync<TRequest>(string service, string method, TRequest request, RpcStreamAttachment[]? streams = null, CancellationToken ct = default)

service string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<Stream>

TRequest

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

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

service string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<Stream>

TRequest

InvokeStreamOnInstanceAsync(string, string, string, CancellationToken)

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

service string

instanceId string

method string

ct CancellationToken

Task<Stream>

InvokeStreamOnInstanceAsync<TRequest>(string, string, string, TRequest, RpcStreamAttachment[]?, CancellationToken)

Section titled “ 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)

service string

instanceId string

method string

request TRequest

streams RpcStreamAttachment[]?

ct CancellationToken

Task<Stream>

TRequest

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

Section titled “ 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)

service string

instanceId string

method string

request TRequest

stream RpcStreamAttachment

ct CancellationToken

Task<Stream>

TRequest

InvokeValueAsync<TRequest, TResponse>(string, string, TRequest, CancellationToken)

Section titled “ InvokeValueAsync<TRequest, TResponse>(string, string, TRequest, CancellationToken)”
ValueTask<TResponse> InvokeValueAsync<TRequest, TResponse>(string service, string method, TRequest request, CancellationToken ct = default)

service string

method string

request TRequest

ct CancellationToken

ValueTask<TResponse>

TRequest

TResponse

InvokeValueAsync<TResponse>(string, string, CancellationToken)

Section titled “ InvokeValueAsync<TResponse>(string, string, CancellationToken)”
ValueTask<TResponse> InvokeValueAsync<TResponse>(string service, string method, CancellationToken ct = default)

service string

method string

ct CancellationToken

ValueTask<TResponse>

TResponse

InvokeValueAsync<TRequest>(string, string, TRequest, CancellationToken)

Section titled “ InvokeValueAsync<TRequest>(string, string, TRequest, CancellationToken)”
ValueTask InvokeValueAsync<TRequest>(string service, string method, TRequest request, CancellationToken ct = default)

service string

method string

request TRequest

ct CancellationToken

ValueTask

TRequest

InvokeValueAsync(string, string, CancellationToken)

Section titled “ InvokeValueAsync(string, string, CancellationToken)”
ValueTask InvokeValueAsync(string service, string method, CancellationToken ct = default)

service string

method string

ct CancellationToken

ValueTask

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

Section titled “ InvokeValueOnInstanceAsync<TRequest, TResponse>(string, string, string, TRequest, CancellationToken)”
ValueTask<TResponse> InvokeValueOnInstanceAsync<TRequest, TResponse>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)

service string

instanceId string

method string

request TRequest

ct CancellationToken

ValueTask<TResponse>

TRequest

TResponse

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

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

service string

instanceId string

method string

ct CancellationToken

ValueTask<TResponse>

TResponse

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

Section titled “ InvokeValueOnInstanceAsync<TRequest>(string, string, string, TRequest, CancellationToken)”
ValueTask InvokeValueOnInstanceAsync<TRequest>(string service, string instanceId, string method, TRequest request, CancellationToken ct = default)

service string

instanceId string

method string

request TRequest

ct CancellationToken

ValueTask

TRequest

InvokeValueOnInstanceAsync(string, string, string, CancellationToken)

Section titled “ InvokeValueOnInstanceAsync(string, string, string, CancellationToken)”
ValueTask InvokeValueOnInstanceAsync(string service, string instanceId, string method, CancellationToken ct = default)

service string

instanceId string

method string

ct CancellationToken

ValueTask

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

void ReleaseStream(RpcStreamHandle handle)

handle RpcStreamHandle

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

RpcStreamHandle ReserveStream(RpcStreamKind kind)

kind RpcStreamKind

RpcStreamHandle