private bool PumpQueue(ArrayList queue, SingleFeedAction sfa, MultipleFeedAction mfa) { PodcastFeedInfo feed = null; ICollection feeds = null; int range_upper = -1; lock (queue.SyncRoot) { if (queue.Count == 0) { return(false); } int queue_count = queue.Count; range_upper = (queue_count >= 32) ? 31 : queue_count; if (queue_count == 1) { feed = queue [0] as PodcastFeedInfo; } else if (queue_count > 1) { feeds = queue.GetRange(0, range_upper); } } if (feed != null) { sfa(feed); } else if (feeds != null) { mfa(feeds); } lock (queue.SyncRoot) { queue.RemoveRange(0, range_upper); if (queue.Count == 0) { return(false); } else { return(true); } } }
private bool PumpQueue(ArrayList queue, SingleFeedAction sfa, MultipleFeedAction mfa) { PodcastFeedInfo feed = null; ICollection feeds = null; int range_upper = -1; lock (queue.SyncRoot) { if (queue.Count == 0) { return false; } int queue_count = queue.Count; range_upper = (queue_count >= 32) ? 31 : queue_count; if (queue_count == 1) { feed = queue [0] as PodcastFeedInfo; } else if (queue_count > 1) { feeds = queue.GetRange (0, range_upper); } } if (feed != null) { sfa (feed); } else if (feeds != null) { mfa (feeds); } lock (queue.SyncRoot) { queue.RemoveRange (0, range_upper); if (queue.Count == 0) { return false; } else { return true; } } }