예제 #1
0
파일: Prefetch.cs 프로젝트: n0tzy/Typict
 public void EnqueueImage(Data.GroupingElement elem)
 {
     imageQueue.Enqueue(elem);
     while (imageQueue.Count > Core.Config.BehaviorConfig.PrefetchConfig.PrefetchKeepMaximum)
     {
         var deq = imageQueue.Dequeue();
         if (!deq.IsBuffered)
         {
             continue;
         }
         try
         {
             deq.BufferedImage.Dispose();
         }
         finally
         {
             deq.BufferedImage = null;
         }
     }
 }
예제 #2
0
파일: Prefetch.cs 프로젝트: n0tzy/Typict
 public void EnqueueThumbnail(Data.GroupingElement elem)
 {
     thumbnailQueue.Enqueue(elem);
     if (Core.Config.BehaviorConfig.PrefetchConfig.KeepAllThumbnail)
     {
         return;
     }
     while (imageQueue.Count > Core.Config.BehaviorConfig.PrefetchConfig.ThumbnailKeepMaximum)
     {
         var deq = thumbnailQueue.Dequeue();
         if (!deq.IsThumbnailBuffered)
         {
             continue;
         }
         try
         {
             deq.BufferedThumbnail.Dispose();
         }
         finally
         {
             deq.BufferedThumbnail = null;
         }
     }
 }
예제 #3
0
 public bool TryReceive(TimeSpan timeout, out Message message)
 {
     ExtentionHelper.ValidateTimeout(timeout);
     return(_MessageQueue.Dequeue(timeout, out message));
 }