Skip to content

Class RemoteHookPipeline<TEvent>

Namespace: DotBoxD.Plugins.Runtime
Assembly: DotBoxD.Plugins.dll

[PipelineSurface(PipelineTransport.Remote)]
public sealed class RemoteHookPipeline<TEvent>

TEvent

objectRemoteHookPipeline<TEvent>

object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()

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

Section titled “ Register<TResult>(Func<TEvent, TResult>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> Register<TResult>(Func<TEvent, TResult> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

handler Func<TEvent, TResult>

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, TResult>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, TResult> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

handler Func<TEvent, TResult>

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, HookContext, TResult>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, TResult> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

handler Func<TEvent, HookContext, TResult>

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, ValueTask<TResult>>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, ValueTask<TResult>> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

handler Func<TEvent, ValueTask<TResult>>

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, HookContext, ValueTask<TResult>>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, ValueTask<TResult>> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

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

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, CancellationToken, ValueTask<TResult>>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, CancellationToken, ValueTask<TResult>> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

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

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

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

Section titled “ RegisterLocal<TResult>(Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>>, IRKernel?, int)”
public RemoteHookPipeline<TEvent> RegisterLocal<TResult>(Func<TEvent, HookContext, CancellationToken, ValueTask<TResult>> handler, IRKernel? irHandler = null, int priority = 0) where TResult : struct, IHookResult

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

irHandler IRKernel?

priority int

RemoteHookPipeline<TEvent>

TResult

Run(Func<TEvent, HookContext, ValueTask>, IRKernel?)

Section titled “ Run(Func<TEvent, HookContext, ValueTask>, IRKernel?)”
public RemoteHookPipeline<TEvent> Run(Func<TEvent, HookContext, ValueTask> handler, IRKernel? irHandler = null)

handler Func<TEvent, HookContext, ValueTask>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

Run(Action<TEvent, HookContext>, IRKernel?)

Section titled “ Run(Action<TEvent, HookContext>, IRKernel?)”
public RemoteHookPipeline<TEvent> Run(Action<TEvent, HookContext> handler, IRKernel? irHandler = null)

handler Action<TEvent, HookContext>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

public RemoteHookPipeline<TEvent> Run(Func<TEvent, ValueTask> handler, IRKernel? irHandler = null)

handler Func<TEvent, ValueTask>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

public RemoteHookPipeline<TEvent> Run(Action<TEvent> handler, IRKernel? irHandler = null)

handler Action<TEvent>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

RunLocal(Func<TEvent, HookContext, ValueTask>, IRKernel?)

Section titled “ RunLocal(Func<TEvent, HookContext, ValueTask>, IRKernel?)”
public RemoteHookPipeline<TEvent> RunLocal(Func<TEvent, HookContext, ValueTask> handler, IRKernel? irHandler = null)

handler Func<TEvent, HookContext, ValueTask>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

RunLocal(Action<TEvent, HookContext>, IRKernel?)

Section titled “ RunLocal(Action<TEvent, HookContext>, IRKernel?)”
public RemoteHookPipeline<TEvent> RunLocal(Action<TEvent, HookContext> handler, IRKernel? irHandler = null)

handler Action<TEvent, HookContext>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

RunLocal(Func<TEvent, ValueTask>, IRKernel?)

Section titled “ RunLocal(Func<TEvent, ValueTask>, IRKernel?)”
public RemoteHookPipeline<TEvent> RunLocal(Func<TEvent, ValueTask> handler, IRKernel? irHandler = null)

handler Func<TEvent, ValueTask>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

public RemoteHookPipeline<TEvent> RunLocal(Action<TEvent> handler, IRKernel? irHandler = null)

handler Action<TEvent>

irHandler IRKernel?

RemoteHookPipeline<TEvent>

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

Section titled “ Select<TNext>(Func<TEvent, HookContext, TNext>, IRFunc<TEvent, HookContext, TNext>?)”
public RemoteHookStage<TEvent, TNext> Select<TNext>(Func<TEvent, HookContext, TNext> projection, IRFunc<TEvent, HookContext, TNext>? irProjection = null)

projection Func<TEvent, HookContext, TNext>

irProjection IRFunc<TEvent, HookContext, TNext>?

RemoteHookStage<TEvent, TNext>

TNext

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

Section titled “ Select<TNext>(Func<TEvent, TNext>, IRFunc<TEvent, TNext>?)”
public RemoteHookStage<TEvent, TNext> Select<TNext>(Func<TEvent, TNext> projection, IRFunc<TEvent, TNext>? irProjection = null)

projection Func<TEvent, TNext>

irProjection IRFunc<TEvent, TNext>?

RemoteHookStage<TEvent, TNext>

TNext

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

RemoteHookPipeline<TEvent>

TKernel

public RemoteHookPipeline<TEvent> UseGeneratedChain(PluginPackage package)

package PluginPackage

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, HookContext, ValueTask>

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent, HookContext>)

Section titled “ UseGeneratedLocalChain(PluginPackage, Action<TEvent, HookContext>)”
public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent, HookContext> handler)

package PluginPackage

handler Action<TEvent, HookContext>

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Func<TEvent, ValueTask>)

Section titled “ UseGeneratedLocalChain(PluginPackage, Func<TEvent, ValueTask>)”
public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TEvent, ValueTask> handler)

package PluginPackage

handler Func<TEvent, ValueTask>

RemoteHookPipeline<TEvent>

UseGeneratedLocalChain(PluginPackage, Action<TEvent>)

Section titled “ UseGeneratedLocalChain(PluginPackage, Action<TEvent>)”
public RemoteHookPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TEvent> handler)

package PluginPackage

handler Action<TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, HookContext, ValueTask>

decoder Func<KernelRpcValue, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Action<TEvent, HookContext>

decoder Func<KernelRpcValue, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, ValueTask>

decoder Func<KernelRpcValue, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Action<TEvent>

decoder Func<KernelRpcValue, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, HookContext, ValueTask>

decoder Func<ReadOnlyMemory<byte>, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Action<TEvent, HookContext>

decoder Func<ReadOnlyMemory<byte>, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, ValueTask>

decoder Func<ReadOnlyMemory<byte>, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Action<TEvent>

decoder Func<ReadOnlyMemory<byte>, TEvent>

RemoteHookPipeline<TEvent>

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

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

package PluginPackage

handler Func<TEvent, TResult>

priority int

RemoteHookPipeline<TEvent>

TResult

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

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

package PluginPackage

handler Func<TEvent, HookContext, TResult>

priority int

RemoteHookPipeline<TEvent>

TResult

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

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

package PluginPackage

handler Func<TEvent, ValueTask<TResult>>

priority int

RemoteHookPipeline<TEvent>

TResult

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

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

package PluginPackage

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

priority int

RemoteHookPipeline<TEvent>

TResult

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

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

package PluginPackage

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

priority int

RemoteHookPipeline<TEvent>

TResult

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

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

package PluginPackage

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

priority int

RemoteHookPipeline<TEvent>

TResult

UseGeneratedResultChain<TResult>(PluginPackage, int)

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

package PluginPackage

priority int

RemoteHookPipeline<TEvent>

TResult

Where(Func<TEvent, HookContext, bool>, IRFunc<TEvent, HookContext, bool>?)

Section titled “ Where(Func<TEvent, HookContext, bool>, IRFunc<TEvent, HookContext, bool>?)”
public RemoteHookPipeline<TEvent> Where(Func<TEvent, HookContext, bool> filter, IRFunc<TEvent, HookContext, bool>? irFilter = null)

filter Func<TEvent, HookContext, bool>

irFilter IRFunc<TEvent, HookContext, bool>?

RemoteHookPipeline<TEvent>

Where(Func<TEvent, bool>, IRFunc<TEvent, bool>?)

Section titled “ Where(Func<TEvent, bool>, IRFunc<TEvent, bool>?)”
public RemoteHookPipeline<TEvent> Where(Func<TEvent, bool> filter, IRFunc<TEvent, bool>? irFilter = null)

filter Func<TEvent, bool>

irFilter IRFunc<TEvent, bool>?

RemoteHookPipeline<TEvent>