Table of Contents

Class SubscriptionPipeline<TEvent, TContext>

Namespace
DotBoxD.Plugins.Runtime
Assembly
DotBoxD.Plugins.dll
public class SubscriptionPipeline<TEvent, TContext>

Type Parameters

TEvent
TContext
Inheritance
SubscriptionPipeline<TEvent, TContext>
Inherited Members

Methods

InvokeHostHandler(Action<TEvent, TContext>)

public SubscriptionPipeline<TEvent, TContext> InvokeHostHandler(Action<TEvent, TContext> handler)

Parameters

handler Action<TEvent, TContext>

Returns

SubscriptionPipeline<TEvent, TContext>

InvokeHostHandler(Action<TEvent>)

public SubscriptionPipeline<TEvent, TContext> InvokeHostHandler(Action<TEvent> handler)

Parameters

handler Action<TEvent>

Returns

SubscriptionPipeline<TEvent, TContext>

InvokeHostHandler(Func<TEvent, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> InvokeHostHandler(Func<TEvent, ValueTask> handler)

Parameters

handler Func<TEvent, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

InvokeHostHandler(Func<TEvent, TContext, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> InvokeHostHandler(Func<TEvent, TContext, ValueTask> handler)

Parameters

handler Func<TEvent, TContext, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

Run(Action<TEvent, TContext>)

public SubscriptionPipeline<TEvent, TContext> Run(Action<TEvent, TContext> handler)

Parameters

handler Action<TEvent, TContext>

Returns

SubscriptionPipeline<TEvent, TContext>

Run(Action<TEvent>)

public SubscriptionPipeline<TEvent, TContext> Run(Action<TEvent> handler)

Parameters

handler Action<TEvent>

Returns

SubscriptionPipeline<TEvent, TContext>

Run(Func<TEvent, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> Run(Func<TEvent, ValueTask> handler)

Parameters

handler Func<TEvent, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

Run(Func<TEvent, TContext, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> Run(Func<TEvent, TContext, ValueTask> handler)

Parameters

handler Func<TEvent, TContext, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

RunLocal(Action<TEvent, TContext>)

public SubscriptionPipeline<TEvent, TContext> RunLocal(Action<TEvent, TContext> handler)

Parameters

handler Action<TEvent, TContext>

Returns

SubscriptionPipeline<TEvent, TContext>

RunLocal(Action<TEvent>)

public SubscriptionPipeline<TEvent, TContext> RunLocal(Action<TEvent> handler)

Parameters

handler Action<TEvent>

Returns

SubscriptionPipeline<TEvent, TContext>

RunLocal(Func<TEvent, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> RunLocal(Func<TEvent, ValueTask> handler)

Parameters

handler Func<TEvent, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

RunLocal(Func<TEvent, TContext, ValueTask>)

public SubscriptionPipeline<TEvent, TContext> RunLocal(Func<TEvent, TContext, ValueTask> handler)

Parameters

handler Func<TEvent, TContext, ValueTask>

Returns

SubscriptionPipeline<TEvent, TContext>

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

public SubscriptionStage<TEvent, TNext, TContext> Select<TNext>(Func<TEvent, TContext, TNext> projection)

Parameters

projection Func<TEvent, TContext, TNext>

Returns

SubscriptionStage<TEvent, TNext, TContext>

Type Parameters

TNext

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

public SubscriptionStage<TEvent, TNext, TContext> Select<TNext>(Func<TEvent, TNext> projection)

Parameters

projection Func<TEvent, TNext>

Returns

SubscriptionStage<TEvent, TNext, TContext>

Type Parameters

TNext

Use(InstalledKernel)

public SubscriptionPipeline<TEvent, TContext> Use(InstalledKernel kernel)

Parameters

kernel InstalledKernel

Returns

SubscriptionPipeline<TEvent, TContext>

Use(InstalledKernelPool)

public SubscriptionPipeline<TEvent, TContext> Use(InstalledKernelPool pool)

Parameters

pool InstalledKernelPool

Returns

SubscriptionPipeline<TEvent, TContext>

UseGeneratedChain(PluginPackage)

public SubscriptionPipeline<TEvent, TContext> UseGeneratedChain(PluginPackage package)

Parameters

package PluginPackage

Returns

SubscriptionPipeline<TEvent, TContext>

UseProjecting(InstalledKernel, string, RemoteLocalPush)

Wires a lowered local-terminal subscription chain (a remote RunLocal chain): the lowered Where/Select always run here in the sandbox, and for each event that passes the filter the projected value is encoded and handed to push for delivery across the IPC boundary to the plugin's native delegate. Non-matching events never reach push.

public SubscriptionPipeline<TEvent, TContext> UseProjecting(InstalledKernel kernel, string subscriptionId, RemoteLocalPush push)

Parameters

kernel InstalledKernel
subscriptionId string
push RemoteLocalPush

Returns

SubscriptionPipeline<TEvent, TContext>

Use<TKernel>()

public SubscriptionPipeline<TEvent, TContext> Use<TKernel>() where TKernel : class

Returns

SubscriptionPipeline<TEvent, TContext>

Type Parameters

TKernel

Where(Func<TEvent, bool>)

public SubscriptionPipeline<TEvent, TContext> Where(Func<TEvent, bool> filter)

Parameters

filter Func<TEvent, bool>

Returns

SubscriptionPipeline<TEvent, TContext>

Where(Func<TEvent, ValueTask<bool>>)

public SubscriptionPipeline<TEvent, TContext> Where(Func<TEvent, ValueTask<bool>> filter)

Parameters

filter Func<TEvent, ValueTask<bool>>

Returns

SubscriptionPipeline<TEvent, TContext>

Where(Func<TEvent, TContext, bool>)

public SubscriptionPipeline<TEvent, TContext> Where(Func<TEvent, TContext, bool> filter)

Parameters

filter Func<TEvent, TContext, bool>

Returns

SubscriptionPipeline<TEvent, TContext>

Where(Func<TEvent, TContext, ValueTask<bool>>)

public SubscriptionPipeline<TEvent, TContext> Where(Func<TEvent, TContext, ValueTask<bool>> filter)

Parameters

filter Func<TEvent, TContext, ValueTask<bool>>

Returns

SubscriptionPipeline<TEvent, TContext>