Namespace Kuestenlogik.Bowire.Protocol.Mqtt.Mock
Classes
- MqttMockTransportHost
MQTT transport host for the Bowire mock server. Spins up an embedded MQTTnet broker on its own port, then orchestrates the proactive emitter (replays captured publishes) and the reactive responder (matches incoming publishes against pattern-based recordings and emits paired responses).
- MqttProactiveEmitter
Proactive emitter for Phase 2f: replays the MQTT publishes captured in a BowireRecording onto an embedded MQTTnet broker on a schedule. No HTTP trigger needed — the scheduler fires as soon as a subscriber is attached (or after the startup-grace timeout, whichever comes first). Subscribers that connect late miss already-fired publishes (retained messages stick around per MQTT semantics).
- MqttReactiveResponder
MQTT reactive matcher / responder. Watches incoming client publishes via the broker's
InterceptingPublishAsyncevent and emits paired responses for every recorded step whose topic pattern matches.
- MqttTopicMatcher
MQTT topic-pattern matcher. Supports the two wildcards the MQTT spec defines on subscriptions:
+— exactly one level (e.g.sensors/+/tempmatchessensors/room1/tempbut notsensors/a/b/temp).#— zero or more trailing levels, must be the last segment (e.g.sensors/#matchessensors,sensors/a,sensors/a/b/c).
On a successful match, the positional wildcard values are returned so callers can expose them to the dynamic-value substitutor as
\({topic.0}</code>, <code>\){topic.1}, …, and the#tail as${topic.rest}.