diff options
author | Sergey Yershov <yershov@corp.mail.ru> | 2016-04-27 14:08:01 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2016-05-01 10:28:03 +0300 |
commit | ff847713d907ba189cf474fa6af8eec1679b0219 (patch) | |
tree | beb5baedd3f1d846cfbfdb0160235936f7ef65aa /platform/chunks_download_strategy.cpp | |
parent | 0c0c176ab504db604553c7a26062a2a136145ec5 (diff) |
[downloader] Send http download errors into Alohalytics
Diffstat (limited to 'platform/chunks_download_strategy.cpp')
-rw-r--r-- | platform/chunks_download_strategy.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/platform/chunks_download_strategy.cpp b/platform/chunks_download_strategy.cpp index efcf89bef9..3aa1bad155 100644 --- a/platform/chunks_download_strategy.cpp +++ b/platform/chunks_download_strategy.cpp @@ -129,10 +129,10 @@ int64_t ChunksDownloadStrategy::LoadOrInitChunks( string const & fName, return 0; } -void ChunksDownloadStrategy::ChunkFinished(bool success, RangeT const & range) +string ChunksDownloadStrategy::ChunkFinished(bool success, RangeT const & range) { pair<ChunkT *, int> res = GetChunk(range); - + string url; // find server which was downloading this chunk if (res.first) { @@ -140,6 +140,7 @@ void ChunksDownloadStrategy::ChunkFinished(bool success, RangeT const & range) { if (m_servers[s].m_chunkIndex == res.second) { + url = m_servers[s].m_url; if (success) { // mark server as free and chunk as ready @@ -150,7 +151,6 @@ void ChunksDownloadStrategy::ChunkFinished(bool success, RangeT const & range) { LOG(LINFO, ("Thread for url", m_servers[s].m_url, "failed to download chunk number", m_servers[s].m_chunkIndex)); - // remove failed server and mark chunk as free m_servers.erase(m_servers.begin() + s); res.first->m_status = CHUNK_FREE; @@ -159,6 +159,7 @@ void ChunksDownloadStrategy::ChunkFinished(bool success, RangeT const & range) } } } + return url; } ChunksDownloadStrategy::ResultT |