summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKostyantyn Ovechko <fastinetserver@gmail.com>2010-07-03 17:40:46 +0300
committerKostyantyn Ovechko <fastinetserver@gmail.com>2010-07-03 17:40:46 +0300
commite48f6311ff9f85b2bddf1e9fb1ea5a6734ea5e75 (patch)
tree2b3b75fbc2d1f534e14a822ec85efeb74ec22615 /segget/settings.cpp
parentAdd option [pkg_list].del_pkg_list_when_dld_finished (diff)
downloadidfetch-e48f6311ff9f85b2bddf1e9fb1ea5a6734ea5e75.tar.gz
idfetch-e48f6311ff9f85b2bddf1e9fb1ea5a6734ea5e75.tar.bz2
idfetch-e48f6311ff9f85b2bddf1e9fb1ea5a6734ea5e75.zip
Add support for several networks to segget
Add [networks] section to segget.conf [networks] network0_priority=10 network1_priority=0 network2_priority=0 network3_priority=0 network4_priority=0 network5_priority=0 network6_priority=0 network7_priority=0 network8_priority=0 network9_priority=0 2) Following options moved from segget.conf to network#.conf [network_bind] bind_interface=none [network_connections] max_connections=2 connection_timeout=15 ftp_response_timeout=180 timeout=500 low_connection_speed_limit=1000 low_connection_speed_time=10 max_connection_speed=3000 [network_protocols] [network_user_data] user_agent=segget [network_proxy] proxy_ip_or_name=none proxy_port=3128 proxy_user=none proxy_password=none proxy_off=1 [network_mirrors] use_own_mirror_list_on=0
Diffstat (limited to 'segget/settings.cpp')
-rw-r--r--segget/settings.cpp34
1 files changed, 17 insertions, 17 deletions
diff --git a/segget/settings.cpp b/segget/settings.cpp
index dbbad53..f6e6c91 100644
--- a/segget/settings.cpp
+++ b/segget/settings.cpp
@@ -26,13 +26,14 @@
#include "settings.h"
-void Tsettings::load_from_conf_file(){
+void Tsettings::init(){
try{
ConfigFile conf("segget.conf");
conf.set(general_log_file, "logs", "general_log_file");
conf.set(logs_dir, "logs", "logs_dir");
conf.set(error_log_file, "logs", "error_log_file");
conf.set(debug_log_file, "logs", "debug_log_file");
+ conf.set(max_connections, "connections", "max_connections",1,MAX_CONNECTS);
conf.set(distfiles_dir, "folders", "distfiles_dir");
conf.set(segments_dir, "folders", "segments_dir");
@@ -40,32 +41,31 @@ void Tsettings::load_from_conf_file(){
conf.set(pkg_list_dir, "pkg_list", "pkg_list_dir");
conf.set(del_pkg_list_when_dld_finished, "pkg_list", "del_pkg_list_when_dld_finished");
- conf.set(max_connection_num_per_distfile, "distfiles", "max_connection_num_per_distfile",1,20);
+ conf.set(max_connection_num_per_distfile, "distfiles", "max_connection_num_per_distfile",1,MAX_CONNECTS);
conf.set(resume_on, "segments", "resume_on");
conf.set(max_segment_size, "segments", "max_segment_size",10000,10000000);
conf.set(max_tries, "segments", "max_tries",1,-1);
- conf.set(max_connections, "connections", "max_connections",1,20);
- conf.set(connection_timeout, "connections", "connection_timeout",1,1000);
- conf.set(ftp_response_timeout, "connections", "ftp_response_timeout",1,-1);
- conf.set(time_out, "connections", "timeout",100,-1);
- conf.set(low_connection_speed_limit, "connections", "low_connection_speed_limit",0,-1);
- conf.set(low_connection_speed_time, "connections", "low_connection_speed_time",1,600);
- conf.set(max_connection_speed, "connections", "max_connection_speed",0,-1);
conf.set(current_speed_time_interval_msecs, "connections", "current_speed_time_interval_msecs",100,60000);
- conf.set(bind_interface, "connections", "bind_interface");
conf.set(max_connections_num_per_mirror, "mirrors", "max_connections_num_per_mirror",1,10);
- conf.set(benchmark_oblivion, "mirrors", "benchmark_oblivion",1,1000);
+ conf.set(benchmark_oblivion, "mirrors", "benchmark_oblivion",0,1000);
- conf.set(user_agent, "user-data", "user_agent");
+ ulong cur_network_priority;
+ for (uint network_num=0; network_num<MAX_NETWORKS; network_num++){
+ //set default values, in case segget.conf doesn't have these settings
+ if (network_num==0){
+ cur_network_priority=10;
+ }else{
+ cur_network_priority=0;
+ }
- conf.set(proxy_ip_or_name, "proxy", "proxy_ip_or_name");
- conf.set(proxy_port, "proxy", "proxy_port",1,65535);
- conf.set(proxy_off, "proxy", "proxy_off");
- conf.set(proxy_user, "proxy", "proxy_user");
- conf.set(proxy_password, "proxy", "proxy_password");
+ conf.set(cur_network_priority, "networks", "network"+toString(network_num)+"_priority",0,10);
+ if (cur_network_priority>0){
+ network_array[network_num].init(cur_network_priority);
+ }
+ }
}
catch(...)
{