in src/main/csharp/Dispatcher.cs [53:76]
public void RedeliverRolledBackMessages()
{
lock (semaphore)
{
System.Collections.Queue replacement = new System.Collections.Queue(queue.Count + messagesToRedeliver.Count);
foreach (Apache.NMS.IMessage element in messagesToRedeliver)
{
replacement.Enqueue(element);
}
messagesToRedeliver.Clear();
while (queue.Count > 0)
{
Apache.NMS.IMessage element = (Apache.NMS.IMessage) queue.Dequeue();
replacement.Enqueue(element);
}
queue = replacement;
if (queue.Count > 0)
{
messageReceivedEventHandle.Set();
}
}
}