summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rwxr-xr-xserver/server/config.h19
-rwxr-xr-xserver/server/main.cpp8
-rw-r--r--server/server/speedtest.cpp16
3 files changed, 26 insertions, 17 deletions
diff --git a/server/server/config.h b/server/server/config.h
index 2b37cbf..1069bd1 100755
--- a/server/server/config.h
+++ b/server/server/config.h
@@ -13,10 +13,8 @@ public:
{
std::string host, login, password;
int port;
- size_t speed;
- std::list<size_t> speed_list;
proxy_type type;
- proxy_entry_base(): port(0), speed(0), type(UNKNOWN)
+ proxy_entry_base(): port(0), _speed(0), type(UNKNOWN)
{}
bool operator==(const proxy_entry_base& e)
{
@@ -36,6 +34,21 @@ public:
{
return !((*this) == e);
}
+ size_t &speed()
+ {
+ return _speed;
+ }
+ void speed(size_t s)
+ {
+ _speed = s;
+ }
+ std::list<size_t> &speed_list()
+ {
+ return _speed_list;
+ }
+ private:
+ size_t _speed;
+ std::list<size_t> _speed_list;
};
struct proxy_entry : public proxy_entry_base
{
diff --git a/server/server/main.cpp b/server/server/main.cpp
index 422ee79..48532fd 100755
--- a/server/server/main.cpp
+++ b/server/server/main.cpp
@@ -424,7 +424,7 @@ void session::proto_parser(std::vector<byte>& data)
if(cfg->debug())
{
logger->lock();
- *logger<< time_str() << ": packing "<<it->host<<":"<<it->port<<" speed "<<it->speed<<"\n";
+ *logger<< time_str() << ": packing "<<it->host<<":"<<it->port<<" speed "<<it->speed()<<"\n";
logger->unlock();
}
switch(it->type)
@@ -497,11 +497,7 @@ void session::proto_parser(std::vector<byte>& data)
data.push_back(' ');
{
char speed[10];
-#ifdef WIN32
- _snprintf(speed, 10, "%lu", it->speed);
-#else
- snprintf(speed, 10, "%lu", it->speed);
-#endif
+ snprintf(speed, 10, "%lu", it->speed());
int len = strlen(speed);
for(int i = 0; i < len; ++i)
data.push_back(speed[i]);
diff --git a/server/server/speedtest.cpp b/server/server/speedtest.cpp
index 09d361b..618c862 100644
--- a/server/server/speedtest.cpp
+++ b/server/server/speedtest.cpp
@@ -96,17 +96,17 @@ size_t speedtest::test(config::proxy_entry_base *p)
}
if(speed)
{
- p->speed_list.push_back(speed);
- while(p->speed_list.size() > 10)
- p->speed_list.pop_front();
+ p->speed_list().push_back(speed);
+ while(p->speed_list().size() > 10)
+ p->speed_list().pop_front();
size_t speed_sum = 0;
- for(std::list<size_t>::iterator i = p->speed_list.begin(), end = p->speed_list.end(); i != end; ++i)
+ 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();
+ speed = speed_sum/p->speed_list().size();
if(cfg.debug())
{
logger->lock();
- *logger << time_str() << ": computed "<<speed<<" speed from "<<p->speed_list.size()<<" entries for "<<p->host<<":"<<p->port<<"\n";
+ *logger << time_str() << ": computed "<<speed<<" speed from "<<p->speed_list().size()<<" entries for "<<p->host<<":"<<p->port<<"\n";
logger->unlock();
}
}
@@ -123,11 +123,11 @@ size_t speedtest::test(config::proxy_entry_base *p)
*logger << time_str() << ": proxy check error ocured for "<<p->host<<":"<<p->port<<"\n";
logger->unlock();
}
- p->speed = speed;
+ p->speed(speed);
if(cfg.debug())
{
logger->lock();
- *logger << time_str() << ": set speed "<<p->speed<<" for proxy "<<p->host<<":"<<p->port<<" (this should be sent and seen in client ui)\n";
+ *logger << time_str() << ": set speed "<<p->speed()<<" for proxy "<<p->host<<":"<<p->port<<" (this should be sent and seen in client ui)\n";
logger->unlock();
}
return speed;