BoundedCounterEqualizerConfig

constructor(cadence: Duration, minImbalanceThreshold: Long = 0, random: Random = Random.Default)

Parameters

cadence

how often the equalizer ticks. The background loop uses kotlinx.coroutines.delay on the injected scope's dispatcher — virtual-time-compatible when the scope runs on a test dispatcher.

minImbalanceThreshold

the equalizer skips a tick when quota(self) − fairShare is at or below this value. Prevents unnecessary transfers in stable sessions where quotas are already near-even.

random

injectable RNG for tie-breaking. Seed it in tests for determinism.