private Boolean queueHasDueMessages(OrderedDictionary queueToCheck, Boolean isImmediateMessages)
{
if (isImmediateMessages)
{
// immediate messages can't be delayed so no point in checking their due times
return queueToCheck.Count > 0;
}
else if (queueToCheck.Count == 0)
{
return false;
}
else
{
long milliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;
lock (queueToCheck)
{
foreach (String key in queueToCheck.Keys)
{
if (((QueuedMessage)queueToCheck[key]).dueTime <= milliseconds)
{
return true;
}
}
}
return false;
}
}