Ejemplo n.º 1
0
	//test getUrl gives valid provider when all old providers have expired (requests new providers)
	TEST(ProviderManager, ProvExpireWithNewProviders)
	{
		auto pc = std::make_shared<const DownloadProvider>("a1", "a2", "a3", "a4");

		DownloadProvider *p = const_cast<DownloadProvider*>(&*pc);
		p->setType(DownloadProviderType::Cdn);
		p->setExpireTime(gcTime() + std::chrono::minutes(1));

		auto dp = std::make_shared<TestDownloadProvidersPM>();
		dp->m_vDownloadProviders.push_back(pc);

		ProviderManager pm(dp);

		{
			auto res = pm.getUrl(1);

			ASSERT_TRUE(!!res.get());
			ASSERT_STREQ("a1", res->getName());
		}

		p->setExpireTime(gcTime() - std::chrono::minutes(1));

		dp->m_vDownloadProviders.clear();
		dp->m_vDownloadProviders.push_back(std::make_shared<const DownloadProvider>("b1", "b2", "b3", "b4"));

		//Getting it a second time should return same provider
		{
			auto res = pm.getUrl(1);

			ASSERT_TRUE(!!res.get());
			ASSERT_STREQ("b1", res->getName());
		}
	}
Ejemplo n.º 2
0
void UpdateProgThread::run()
{
	m_tStartTime = gcTime();
	m_tLastUpdateTime = gcTime();

	for (uint8 x=0; x<m_pCount; x++)
		m_vProgInfo.push_back(0);

	while (!isStopped())
	{
		doPause();
		gcSleep(500);
		calcResults();
	}
}
Ejemplo n.º 3
0
			void setTimeOut()
			{
				m_iOwner = -1;
				m_uiErrCount++;
				m_tExpTime = gcTime() + std::chrono::seconds(getTimeOut());
				gcAssert(isInTimeOut());
			}
Ejemplo n.º 4
0
	TEST(UtilDateTime, BadTimeT)
	{
		auto out = gcTime((time_t) -1).to_iso_string();
		std::string expected = "";

		ASSERT_EQ(expected, out);
	}
Ejemplo n.º 5
0
void UpdateProgThread::reportProg(uint32 id, uint64 ammount)
{
	if (id >= m_vProgInfo.size())
		return;

	std::lock_guard<std::mutex> guard(m_pProgMutex);

	m_vProgInfo[id] = ammount;
	m_tLastUpdateTime = gcTime();
}
Ejemplo n.º 6
0
uint32 DPProvider::getLastRate() const
{
	if (m_ullAmmount < 1)
		return 0;
	
	auto total = gcTime() - m_tStart;

	if (total.seconds() == 0)
		return 0;

	double avgRate = ((double)m_ullAmmount) / ((double)total.seconds());
	return (uint32)(avgRate/1024.0);
}
Ejemplo n.º 7
0
			bool isInTimeOut()
			{
				return gcTime() < m_tExpTime;
			}
Ejemplo n.º 8
0
			ProviderInfo(std::shared_ptr<const MCFCore::Misc::DownloadProvider> &pProvider)
				: m_pProvider(pProvider)
				, m_tExpTime(gcTime() - std::chrono::seconds(getTimeOut()))
			{
			}
Ejemplo n.º 9
0
void UpdateProgThread::onUnpause()
{
	m_tTotPauseTime += gcTime() - m_tPauseStartTime;
}
Ejemplo n.º 10
0
void UpdateProgThread::onPause()
{
	m_tPauseStartTime = gcTime();
}
Ejemplo n.º 11
0
const std::string getNowAsDateTime()
{
	return gcTime().to_iso_string();
}
Ejemplo n.º 12
0
void DPProvider::reportProgress(uint32 prog)
{
	m_ullAmmount += prog;
	m_tLastUpdate = gcTime();
}