diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2012-03-24 19:24:20 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2012-03-24 19:24:20 +0200 |
commit | 3faa907f6e8597ffae5b9f7db8567fe5fab8c9f6 (patch) | |
tree | 6a78ddda5b611cbe19822fb35afbdf82a673d359 /server/server/speedtest.cpp | |
parent | 165a86baaeaa1219ea8e2a892e1ac90596038a66 (diff) |
more accurate speed calculation
Diffstat (limited to 'server/server/speedtest.cpp')
-rw-r--r-- | server/server/speedtest.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/server/server/speedtest.cpp b/server/server/speedtest.cpp index d1d9876..8a2c289 100644 --- a/server/server/speedtest.cpp +++ b/server/server/speedtest.cpp @@ -88,21 +88,21 @@ size_t speedtest::test(config::proxy_entry_base *p) else speed = chunk.size; } - p->speed_list.push_back(speed); - } - while(p->speed_list.size() > 10) - p->speed_list.pop_front(); - if(!p->speed_list.empty()) - { if(speed) { - size_t speed_sum = 0; - for(std::list<size_t>::iterator i = p->speed_list.begin(), end = p->speed_list.end(); i != end; ++i) - speed_sum += *i; - speed = speed_sum/p->speed_list.size(); + p->speed_list.push_back(speed); + while(p->speed_list.size() > 10) + p->speed_list.pop_front(); + if(!p->speed_list.empty()) + { + size_t speed_sum = 0; + for(std::list<size_t>::iterator i = p->speed_list.begin(), end = p->speed_list.end(); i != end; ++i) + speed_sum += *i; + speed = speed_sum/p->speed_list.size(); + } } - p->speed = speed; } + p->speed = speed; return speed; } |