Table of Contents

Interface IPluginServer<TWorld>

Namespace
DotBoxD.Abstractions
Assembly
DotBoxD.Abstractions.dll

Lifecycle and anonymous server-side invocation surface mixed into a generated plugin facade.

public interface IPluginServer<TWorld> where TWorld : class

Type Parameters

TWorld

Methods

HoldUntilShutdownAsync(CancellationToken)

ValueTask HoldUntilShutdownAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask

InvokeAsync<TReturn>(Func<TWorld, ValueTask<TReturn>>, CancellationToken)

ValueTask<TReturn> InvokeAsync<TReturn>(Func<TWorld, ValueTask<TReturn>> lambda, CancellationToken cancellationToken = default)

Parameters

lambda Func<TWorld, ValueTask<TReturn>>
cancellationToken CancellationToken

Returns

ValueTask<TReturn>

Type Parameters

TReturn

InvokeAsync<TCaptures, TReturn>(TCaptures, RemoteServerInvocation<TWorld, TCaptures, TReturn>, CancellationToken)

ValueTask<TReturn> InvokeAsync<TCaptures, TReturn>(TCaptures captures, RemoteServerInvocation<TWorld, TCaptures, TReturn> lambda, CancellationToken cancellationToken = default) where TCaptures : class

Parameters

captures TCaptures
lambda RemoteServerInvocation<TWorld, TCaptures, TReturn>
cancellationToken CancellationToken

Returns

ValueTask<TReturn>

Type Parameters

TCaptures
TReturn

RunAsync(CancellationToken)

ValueTask RunAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask

StartAsync(CancellationToken)

ValueTask StartAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

ValueTask