protected override void Warmup(MessageDispatcher dispatcher)
{
var warmupCount = 10L;
var warmupsThusFar = 0L;
Action warmupWork = () =>
{
if (Interlocked.Increment(ref warmupsThusFar) == warmupCount)
{
EventBlock.Set();
}
};
for (var i = 0; i < warmupCount;)
{
dispatcher.Schedule(warmupWork);
++i;
}
EventBlock.Wait();
EventBlock.Reset();
}
}