public Worker(ParsingType type, PageParser parser, EventHandler onPageDownloadingComplete = null)
{
m_type = type;
m_parser = parser;
m_address = new Uri(string.Format("http://{0}.wowhead.com/", parser.Locale.GetLocalePrefix()));
ServicePointManager.DefaultConnectionLimit = SemaphoreCount * 10;
{
m_service = ServicePointManager.FindServicePoint(m_address);
m_service.SetTcpKeepAlive(true, KeepAliveTime, KeepAliveTime);
}
m_semaphore = new SemaphoreSlim(SemaphoreCount, SemaphoreCount);
m_storeUnprocessedIds = m_type == ParsingType.TypeByList || m_type == ParsingType.TypeByWoWHeadFilter;
if (m_storeUnprocessedIds)
m_badIds = new Queue<uint>();
PageDownloadingComplete += onPageDownloadingComplete;
}