Class MockEmitterOptions
- Namespace
- Kuestenlogik.Bowire.Mocking
- Assembly
- Kuestenlogik.Bowire.dll
The subset of mock-server configuration that
IBowireMockEmitter implementations actually consume.
Kept deliberately small so plugin authors don't have to take a
compile-time dependency on the full MockOptions shape —
which carries server-only concerns (matchers, chaos injection,
stateful-cursor bookkeeping) that don't apply to emitters.
public sealed class MockEmitterOptions
- Inheritance
-
MockEmitterOptions
- Inherited Members
Remarks
The mock server constructs an instance of this type from its own
MockOptions and passes it to every emitter's
StartAsync(BowireRecording, MockEmitterOptions, ILogger, CancellationToken). Downstream emitter
code reads ReplaySpeed and Loop
without any knowledge of the matchers / chaos knobs the server
is using.
Constructors
MockEmitterOptions()
public MockEmitterOptions()
Properties
Loop
When true, proactive emitters replay their step sequence
on repeat. Has no effect on request-driven replay paths — those
are handled by the mock server's matcher, not by emitters.
public bool Loop { get; set; }
Property Value
Remarks
An emitter that honours this is expected to bound the cycle by the recording's own duration rather than starting over the instant the last frame is out (#708): ReplaySpeed says how fast the frames go, not how often the recording repeats, and the two together must not add up to an unbounded publish rate.
LoopInterval
How long one loop cycle should take, when the operator wants to say
it rather than let the recording decide (#708). null (default)
means the recording's own duration under ReplaySpeed,
with a floor; Zero means no pacing between
cycles at all — the emitter starts over the instant the last frame
is out, at whatever rate the machine manages.
public TimeSpan? LoopInterval { get; set; }
Property Value
Remarks
An unbounded publish rate is a thing to ask for, which is what this
is: it used to fall out of ReplaySpeed = 0 together with
Loop, where nobody had asked for it and nothing said
it would happen. Ignored when Loop is false.
ReplaySpeed
Speed multiplier for streaming replay. 1.0 preserves the
original cadence captured on the per-frame timestampMs;
2.0 is twice as fast; 0 emits every frame
immediately. Non-positive values other than 0 are
treated as 0.
public double ReplaySpeed { get; set; }