Interface IFrameProber
- Namespace
- Kuestenlogik.Bowire.Semantics.Detectors
- Assembly
- Kuestenlogik.Bowire.dll
The "learn-as-new-types-arrive" hook that connects the SSE / invoke stream to the auto-detector layer. Wire the prober into the frame pipeline; it decides whether the current DetectionContext triple is novel and, if so, runs every registered IBowireFieldDetector once against the frame and writes the proposals to the Auto layer.
public interface IFrameProber
Remarks
Step 7 of the ADR's "Lifecycle of a binding" is the key
correctness property: already-classified (service, method,
message-type) triples are NOT re-evaluated. The prober's
internal triple-set guarantees that — a single
TryAdd(TKey, TValue)
lookup is the entire hot-path cost for an already-known triple.
Implementations MUST be thread-safe. Two concurrent SSE streams (each running their own server-streaming dispatch) may invoke ObserveFrame(in DetectionContext) simultaneously, including against the same triple.
Methods
ObserveFrame(in DetectionContext)
Inspect a single frame in the context of its
(service, method, message-type) triple. Cheap-no-op
for already-probed triples; runs every detector once and
writes the proposals into the auto layer for novel triples.
void ObserveFrame(in DetectionContext ctx)
Parameters
ctxDetectionContext