aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/dcc/send.cpp
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2008-03-07 11:44:20 +0000
committerGravatar Szymon Tomasz Stefanek2008-03-07 11:44:20 +0000
commit5050ad847039a6b7c8531f4ead07187f169b66ae (patch)
treebe5d64e2bb150bddd6cbb2675d418b465babf967 /src/modules/dcc/send.cpp
parentquick fix (diff)
downloadKVIrc-5050ad847039a6b7c8531f4ead07187f169b66ae.tar.gz
KVIrc-5050ad847039a6b7c8531f4ead07187f169b66ae.tar.bz2
KVIrc-5050ad847039a6b7c8531f4ead07187f169b66ae.zip
Fixed a bug in dcc send related to bandwidth limiting
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@1193 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/dcc/send.cpp')
-rw-r--r--src/modules/dcc/send.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/modules/dcc/send.cpp b/src/modules/dcc/send.cpp
index 19f907da3..2e3de6de7 100644
--- a/src/modules/dcc/send.cpp
+++ b/src/modules/dcc/send.cpp
@@ -135,8 +135,10 @@ void KviDccRecvThread::updateStats()
m_pMutex->lock();
unsigned long uElapsedTime = uCurTime - m_uStartTime;
if(uElapsedTime < 1)uElapsedTime = 1;
+
m_iFilePosition = m_pFile->at();
m_iAverageSpeed = m_iTotalReceivedBytes / uElapsedTime;
+
if(m_uInstantSpeedInterval > INSTANT_BANDWIDTH_CHECK_INTERVAL_IN_MSECS)
{
unsigned int uMSecsOfTheNextInterval = 0;
@@ -332,6 +334,8 @@ void KviDccRecvThread::run()
if(!handleInvalidSocketRead(readLen))break;
}
} else {
+ updateStats();
+
// reached the bandwidth limit: slow down a bit
if(m_uInstantSpeedInterval < (INSTANT_BANDWIDTH_CHECK_INTERVAL_IN_MSECS - 100))
msleep(100);
@@ -373,6 +377,7 @@ void KviDccRecvThread::run()
// include the artificial delay if needed
if(m_pOpt->iIdleStepLengthInMSec > 0)
{
+ debug("LOOP: artificial delay");
msleep(m_pOpt->iIdleStepLengthInMSec);
}
} else {