Table of Contents

Class RemoteHookPipeline<TEvent>

Namespace
DotBoxD.Plugins.Runtime
Assembly
DotBoxD.Plugins.dll
public sealed class RemoteHookPipeline<TEvent>

Type Parameters

TEvent
Inheritance
RemoteHookPipeline<TEvent>
Inherited Members

Methods

RegisterLocal<TResult>(Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TEvent, HookContext, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, HookContext, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TEvent, HookContext, TResult>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, HookContext, TResult>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TEvent, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TEvent, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TEvent, TResult>, int)

public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

Register<TResult>(Func<TEvent, TResult>, int)

public RemoteHookPipeline<TEvent> Register<TResult>(Func<TEvent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TEvent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

Run(Action<TEvent, HookContext>)

public RemoteHookPipeline<TEvent> Run(Action<TEvent, HookContext> handler)

Parameters

handler Action<TEvent, HookContext>

Returns

RemoteHookPipeline<TEvent>

Run(Action<TEvent>)

public RemoteHookPipeline<TEvent> Run(Action<TEvent> handler)

Parameters

handler Action<TEvent>

Returns

RemoteHookPipeline<TEvent>

Run(Func<TEvent, HookContext, ValueTask>)

public RemoteHookPipeline<TEvent> Run(Func<TEvent, HookContext, ValueTask> handler)

Parameters

handler Func<TEvent, HookContext, ValueTask>

Returns

RemoteHookPipeline<TEvent>

Run(Func<TEvent, ValueTask>)

public RemoteHookPipeline<TEvent> Run(Func<TEvent, ValueTask> handler)

Parameters

handler Func<TEvent, ValueTask>

Returns

RemoteHookPipeline<TEvent>

RunLocal(Action<TEvent, HookContext>)

public RemoteHookPipeline<TEvent> RunLocal(Action<TEvent, HookContext> handler)

Parameters

handler Action<TEvent, HookContext>

Returns

RemoteHookPipeline<TEvent>

RunLocal(Action<TEvent>)

public RemoteHookPipeline<TEvent> RunLocal(Action<TEvent> handler)

Parameters

handler Action<TEvent>

Returns

RemoteHookPipeline<TEvent>

RunLocal(Func<TEvent, HookContext, ValueTask>)

public RemoteHookPipeline<TEvent> RunLocal(Func<TEvent, HookContext, ValueTask> handler)

Parameters

handler Func<TEvent, HookContext, ValueTask>

Returns

RemoteHookPipeline<TEvent>

RunLocal(Func<TEvent, ValueTask>)

public RemoteHookPipeline<TEvent> RunLocal(Func<TEvent, ValueTask> handler)

Parameters

handler Func<TEvent, ValueTask>

Returns

RemoteHookPipeline<TEvent>

Select<TNext>(Func<TEvent, HookContext, TNext>)

public RemoteHookStage<TEvent, TNext> Select<TNext>(Func<TEvent, HookContext, TNext> projection)

Parameters

projection Func<TEvent, HookContext, TNext>

Returns

RemoteHookStage<TEvent, TNext>

Type Parameters

TNext

Select<TNext>(Func<TEvent, TNext>)

public RemoteHookStage<TEvent, TNext> Select<TNext>(Func<TEvent, TNext> projection)

Parameters

projection Func<TEvent, TNext>

Returns

RemoteHookStage<TEvent, TNext>

Type Parameters

TNext

UseGeneratedChain(PluginPackage)

public RemoteHookPipeline<TEvent> UseGeneratedChain(PluginPackage package)

Parameters

package PluginPackage

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent, HookContext>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent, HookContext> handler)

Parameters

package PluginPackage
handler Action<TEvent, HookContext>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent, HookContext>, Func<KernelRpcValue, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent, HookContext> handler, Func<KernelRpcValue, TEvent> decoder)

Parameters

package PluginPackage
handler Action<TEvent, HookContext>
decoder Func<KernelRpcValue, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent, HookContext>, Func<ReadOnlyMemory<byte>, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent, HookContext> handler, Func<ReadOnlyMemory<byte>, TEvent> decoder)

Parameters

package PluginPackage
handler Action<TEvent, HookContext>
decoder Func<ReadOnlyMemory<byte>, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent> handler)

Parameters

package PluginPackage
handler Action<TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent>, Func<KernelRpcValue, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent> handler, Func<KernelRpcValue, TEvent> decoder)

Parameters

package PluginPackage
handler Action<TEvent>
decoder Func<KernelRpcValue, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent>, Func<ReadOnlyMemory<byte>, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent> handler, Func<ReadOnlyMemory<byte>, TEvent> decoder)

Parameters

package PluginPackage
handler Action<TEvent>
decoder Func<ReadOnlyMemory<byte>, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, HookContext, ValueTask>)

Installs a lowered RunLocal chain: the generated package (the lowered Where/Select filter+projection) is installed server-side, and the native handler is registered against the returned subscription id so the server can push each filtered, projected value back to it. Called by the generated interceptor that replaces a RunLocal(lambda) call site.

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, HookContext, ValueTask> handler)

Parameters

package PluginPackage
handler Func<TEvent, HookContext, ValueTask>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, HookContext, ValueTask>, Func<KernelRpcValue, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, HookContext, ValueTask> handler, Func<KernelRpcValue, TEvent> decoder)

Parameters

package PluginPackage
handler Func<TEvent, HookContext, ValueTask>
decoder Func<KernelRpcValue, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, HookContext, ValueTask>, Func<ReadOnlyMemory<byte>, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, HookContext, ValueTask> handler, Func<ReadOnlyMemory<byte>, TEvent> decoder)

Parameters

package PluginPackage
handler Func<TEvent, HookContext, ValueTask>
decoder Func<ReadOnlyMemory<byte>, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, ValueTask>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, ValueTask> handler)

Parameters

package PluginPackage
handler Func<TEvent, ValueTask>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, ValueTask>, Func<KernelRpcValue, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, ValueTask> handler, Func<KernelRpcValue, TEvent> decoder)

Parameters

package PluginPackage
handler Func<TEvent, ValueTask>
decoder Func<KernelRpcValue, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, ValueTask>, Func<ReadOnlyMemory<byte>, TEvent>)

public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, ValueTask> handler, Func<ReadOnlyMemory<byte>, TEvent> decoder)

Parameters

package PluginPackage
handler Func<TEvent, ValueTask>
decoder Func<ReadOnlyMemory<byte>, TEvent>

Returns

RemoteHookPipeline<TEvent>

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, HookContext, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, HookContext, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, HookContext, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, HookContext, TResult>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, HookContext, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, HookContext, TResult>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TEvent, TResult>, int)

public RemoteHookPipeline<TEvent> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TEvent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TEvent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

UseGeneratedResultChain<TResult>(PluginPackage, int)

public RemoteHookPipeline<TEvent> UseGeneratedResultChain<TResult>(PluginPackage package, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
priority int

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TResult

Use<TKernel>()

public RemoteHookPipeline<TEvent> Use<TKernel>() where TKernel : class

Returns

RemoteHookPipeline<TEvent>

Type Parameters

TKernel

Where(Func<TEvent, HookContext, bool>)

public RemoteHookPipeline<TEvent> Where(Func<TEvent, HookContext, bool> filter)

Parameters

filter Func<TEvent, HookContext, bool>

Returns

RemoteHookPipeline<TEvent>

Where(Func<TEvent, bool>)

public RemoteHookPipeline<TEvent> Where(Func<TEvent, bool> filter)

Parameters

filter Func<TEvent, bool>

Returns

RemoteHookPipeline<TEvent>