Class HookSubscriptionManifest
public sealed record HookSubscriptionManifest : IEquatable<HookSubscriptionManifest>
- Inheritance
-
HookSubscriptionManifest
- Implements
- Inherited Members
Constructors
HookSubscriptionManifest(string, string)
public HookSubscriptionManifest(string Event, string Kernel)
Parameters
Properties
Event
public string Event { get; init; }
Property Value
IndexCoversPredicate
true only when the entire lowered predicate is exactly the conjunction of
IndexedPredicates — i.e. the index fully covers it, so a host whose index check passes
MAY skip the verified IR. false (the conservative default) means the index is a prefilter
only and the verified IR predicate must still run after the host's index check accepts an event.
public bool IndexCoversPredicate { get; init; }
Property Value
IndexedPredicates
Host-readable, index-eligible constraints DotBoxD extracted from the lowered .Where(...)
chain — each a single event-property <op> constant comparison that the host may compile
into an equality/range dispatch bucket to prefilter events before the verified IR predicate
runs. Always a subset of the real predicate (every entry is a necessary AND condition), so rejecting
on any entry is safe regardless of IndexCoversPredicate. Optional; empty when the
predicate had no index-eligible leaves. Set via object initializer.
public IReadOnlyList<IndexedPredicate> IndexedPredicates { get; init; }
Property Value
Kernel
public string Kernel { get; init; }
Property Value
LocalTerminal
true when this subscription is a lowered local-terminal chain (a remote
RunLocal): the Where/Select filter and projection run server-side as verified IR
and the Handle entrypoint returns the projected value (rather than performing a host
send) so the host pushes it across the IPC boundary to the plugin's native delegate. The default
false is an ordinary side-effecting chain whose Handle result is discarded.
public bool LocalTerminal { get; init; }
Property Value
Priority
The host dispatch priority for a lowered result-returning hook chain. Higher values run first, with install order preserving ties. Optional; defaults to zero.
public int Priority { get; init; }
Property Value
ProjectedType
For a LocalTerminal chain, the manifest type name of the projected value the
Handle entrypoint returns (e.g. "string", "int") — the value the host encodes and
pushes to the plugin. null for ordinary chains. Additive; defaults to null.
public string? ProjectedType { get; init; }
Property Value
ResultLocalTerminal
true for a remote RegisterLocal result hook: the server evaluates the lowered filter and
requests the result from the plugin process. false for sandbox Register, where the sandbox
Handle entrypoint returns the result directly.
public bool ResultLocalTerminal { get; init; }
Property Value
ResultType
The fully qualified result type declared by the hook context's HookAttribute for a lowered
Register/RegisterLocal chain. null for ordinary notification hooks.
public string? ResultType { get; init; }