public bool MoveNext()
{
while(true)
{
lock(myLock)
{
if(consumer == null)
{
Tracer.Debug("QB-MoveNext: Consumer was null, returning false.");
return false;
}
if(consumer.UnconsumedMessageCount > 0)
{
Tracer.Debug("QB-MoveNext: Consumer has unconsumed Messages, returning true.");
return true;
}
if(browseDone.Value || !session.Started)
{
Tracer.Debug("QB-MoveNext: Browse done or session not started, return false.");
DestroyConsumer();
return false;
}
}
WaitForMessage();
}
}