|
@@ -35,6 +35,7 @@ namespace oxygine
|
|
|
|
|
|
|
|
HttpRequestTask::HttpRequestTask() :
|
|
HttpRequestTask::HttpRequestTask() :
|
|
|
_cacheEnabled(true),
|
|
_cacheEnabled(true),
|
|
|
|
|
+ _progressOnWrite(true),
|
|
|
_continueDownload(false),
|
|
_continueDownload(false),
|
|
|
_expectedContentSize(0),
|
|
_expectedContentSize(0),
|
|
|
_receivedContentSize(0),
|
|
_receivedContentSize(0),
|
|
@@ -121,8 +122,19 @@ namespace oxygine
|
|
|
return _url;
|
|
return _url;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ size_t HttpRequestTask::getReceivedSize() const
|
|
|
|
|
+ {
|
|
|
|
|
+ return _receivedContentSize;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ size_t HttpRequestTask::getExpectedSize() const
|
|
|
|
|
+ {
|
|
|
|
|
+ return _expectedContentSize;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
bool HttpRequestTask::_prerun()
|
|
bool HttpRequestTask::_prerun()
|
|
|
{
|
|
{
|
|
|
|
|
+ _firstTimeProgressDispatched = false;
|
|
|
_progressDeltaDelayed = 0;
|
|
_progressDeltaDelayed = 0;
|
|
|
_progressDispatched = false;
|
|
_progressDispatched = false;
|
|
|
_suitableResponse = false;
|
|
_suitableResponse = false;
|
|
@@ -163,7 +175,9 @@ namespace oxygine
|
|
|
|
|
|
|
|
void HttpRequestTask::dispatchProgress(size_t delta, size_t loaded, size_t total)
|
|
void HttpRequestTask::dispatchProgress(size_t delta, size_t loaded, size_t total)
|
|
|
{
|
|
{
|
|
|
- ProgressEvent event(delta, loaded, total);
|
|
|
|
|
|
|
+ ProgressEvent event(delta, loaded, total, !_firstTimeProgressDispatched);
|
|
|
|
|
+ _firstTimeProgressDispatched = true;
|
|
|
|
|
+
|
|
|
dispatchEvent(&event);
|
|
dispatchEvent(&event);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -246,6 +260,9 @@ namespace oxygine
|
|
|
_response.insert(_response.end(), p, p + size);
|
|
_response.insert(_response.end(), p, p + size);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (!_progressOnWrite)
|
|
|
|
|
+ return;
|
|
|
|
|
+
|
|
|
_receivedContentSize += size;
|
|
_receivedContentSize += size;
|
|
|
asyncProgress(size, _receivedContentSize, _expectedContentSize);
|
|
asyncProgress(size, _receivedContentSize, _expectedContentSize);
|
|
|
}
|
|
}
|