protected void RemoveEldestInCache()
{
System.Collections.ICollection ic = messageCacheFIFO;
lock(ic.SyncRoot)
{
while(messageCacheFIFO.Count > MaxCacheSize)
{
messageCache.Remove(messageCacheFIFO.Dequeue());
currentCacheSize = currentCacheSize - 1;
}
}
}