Class RemoteSubscriptionStage<TEvent, TCurrent>
- Namespace
- DotBoxD.Plugins.Runtime.Subscriptions
- Assembly
- DotBoxD.Plugins.dll
public sealed class RemoteSubscriptionStage<TEvent, TCurrent>
Type Parameters
TEventTCurrent
- Inheritance
-
RemoteSubscriptionStage<TEvent, TCurrent>
- Inherited Members
Methods
Run(Action<TCurrent, HookContext>)
public RemoteSubscriptionPipeline<TEvent> Run(Action<TCurrent, HookContext> handler)
Parameters
handlerAction<TCurrent, HookContext>
Returns
- RemoteSubscriptionPipeline<TEvent>
Run(Action<TCurrent>)
public RemoteSubscriptionPipeline<TEvent> Run(Action<TCurrent> handler)
Parameters
handlerAction<TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
Run(Func<TCurrent, HookContext, ValueTask>)
public RemoteSubscriptionPipeline<TEvent> Run(Func<TCurrent, HookContext, ValueTask> handler)
Parameters
handlerFunc<TCurrent, HookContext, ValueTask>
Returns
- RemoteSubscriptionPipeline<TEvent>
Run(Func<TCurrent, ValueTask>)
public RemoteSubscriptionPipeline<TEvent> Run(Func<TCurrent, ValueTask> handler)
Parameters
Returns
- RemoteSubscriptionPipeline<TEvent>
RunLocal(Action<TCurrent, HookContext>)
public RemoteSubscriptionPipeline<TEvent> RunLocal(Action<TCurrent, HookContext> handler)
Parameters
handlerAction<TCurrent, HookContext>
Returns
- RemoteSubscriptionPipeline<TEvent>
RunLocal(Action<TCurrent>)
public RemoteSubscriptionPipeline<TEvent> RunLocal(Action<TCurrent> handler)
Parameters
handlerAction<TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
RunLocal(Func<TCurrent, HookContext, ValueTask>)
public RemoteSubscriptionPipeline<TEvent> RunLocal(Func<TCurrent, HookContext, ValueTask> handler)
Parameters
handlerFunc<TCurrent, HookContext, ValueTask>
Returns
- RemoteSubscriptionPipeline<TEvent>
RunLocal(Func<TCurrent, ValueTask>)
public RemoteSubscriptionPipeline<TEvent> RunLocal(Func<TCurrent, ValueTask> handler)
Parameters
Returns
- RemoteSubscriptionPipeline<TEvent>
Select<TNext>(Func<TCurrent, HookContext, TNext>)
public RemoteSubscriptionStage<TEvent, TNext> Select<TNext>(Func<TCurrent, HookContext, TNext> projection)
Parameters
projectionFunc<TCurrent, HookContext, TNext>
Returns
- RemoteSubscriptionStage<TEvent, TNext>
Type Parameters
TNext
Select<TNext>(Func<TCurrent, TNext>)
public RemoteSubscriptionStage<TEvent, TNext> Select<TNext>(Func<TCurrent, TNext> projection)
Parameters
projectionFunc<TCurrent, TNext>
Returns
- RemoteSubscriptionStage<TEvent, TNext>
Type Parameters
TNext
UseGeneratedChain(PluginPackage)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedChain(PluginPackage package)
Parameters
packagePluginPackage
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent, HookContext>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, HookContext> handler)
Parameters
packagePluginPackagehandlerAction<TCurrent, HookContext>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent, HookContext>, Func<KernelRpcValue, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, HookContext> handler, Func<KernelRpcValue, TCurrent> decoder)
Parameters
packagePluginPackagehandlerAction<TCurrent, HookContext>decoderFunc<KernelRpcValue, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent, HookContext>, Func<ReadOnlyMemory<byte>, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, HookContext> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)
Parameters
packagePluginPackagehandlerAction<TCurrent, HookContext>decoderFunc<ReadOnlyMemory<byte>, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler)
Parameters
packagePluginPackagehandlerAction<TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent>, Func<KernelRpcValue, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler, Func<KernelRpcValue, TCurrent> decoder)
Parameters
packagePluginPackagehandlerAction<TCurrent>decoderFunc<KernelRpcValue, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Action<TCurrent>, Func<ReadOnlyMemory<byte>, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)
Parameters
packagePluginPackagehandlerAction<TCurrent>decoderFunc<ReadOnlyMemory<byte>, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, HookContext, ValueTask>)
Installs a lowered RunLocal subscription chain whose projected type is
TCurrent (produced by the preceding Select). The filter+projection
installs server-side; the native delegate receives the projected value pushed back per matching event.
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, HookContext, ValueTask> handler)
Parameters
packagePluginPackagehandlerFunc<TCurrent, HookContext, ValueTask>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, HookContext, ValueTask>, Func<KernelRpcValue, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, HookContext, ValueTask> handler, Func<KernelRpcValue, TCurrent> decoder)
Parameters
packagePluginPackagehandlerFunc<TCurrent, HookContext, ValueTask>decoderFunc<KernelRpcValue, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, HookContext, ValueTask>, Func<ReadOnlyMemory<byte>, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, HookContext, ValueTask> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)
Parameters
packagePluginPackagehandlerFunc<TCurrent, HookContext, ValueTask>decoderFunc<ReadOnlyMemory<byte>, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler)
Parameters
packagePluginPackagehandlerFunc<TCurrent, ValueTask>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>, Func<KernelRpcValue, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler, Func<KernelRpcValue, TCurrent> decoder)
Parameters
packagePluginPackagehandlerFunc<TCurrent, ValueTask>decoderFunc<KernelRpcValue, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>, Func<ReadOnlyMemory<byte>, TCurrent>)
public RemoteSubscriptionPipeline<TEvent> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)
Parameters
packagePluginPackagehandlerFunc<TCurrent, ValueTask>decoderFunc<ReadOnlyMemory<byte>, TCurrent>
Returns
- RemoteSubscriptionPipeline<TEvent>
Where(Func<TCurrent, HookContext, bool>)
public RemoteSubscriptionStage<TEvent, TCurrent> Where(Func<TCurrent, HookContext, bool> filter)
Parameters
filterFunc<TCurrent, HookContext, bool>
Returns
- RemoteSubscriptionStage<TEvent, TCurrent>
Where(Func<TCurrent, bool>)
public RemoteSubscriptionStage<TEvent, TCurrent> Where(Func<TCurrent, bool> filter)
Parameters
Returns
- RemoteSubscriptionStage<TEvent, TCurrent>