public static bool SpinUntil(MyFunc <bool> condition, int millisecondsTimeout)
{
ServerSpinWait sw = new ServerSpinWait();
ServerWatch watch = ServerWatch.StartNew();
while (!condition())
{
if (watch.ElapsedMilliseconds > millisecondsTimeout)
{
return(false);
}
sw.SpinOnce();
}
return(true);
}