mirror of
https://github.com/wangyu-/UDPspeeder.git
synced 2025-01-18 22:09:35 +08:00
updates for tinyfec
This commit is contained in:
parent
e7153d101d
commit
9a622ce463
12
common.h
12
common.h
@ -103,6 +103,7 @@ const int max_addr_len=100;
|
|||||||
const int max_data_len=3600;
|
const int max_data_len=3600;
|
||||||
const int buf_len=max_data_len+200;
|
const int buf_len=max_data_len+200;
|
||||||
|
|
||||||
|
const int default_mtu=1250;
|
||||||
|
|
||||||
//const u32_t timer_interval=400;
|
//const u32_t timer_interval=400;
|
||||||
////const u32_t conv_timeout=180000;
|
////const u32_t conv_timeout=180000;
|
||||||
@ -228,7 +229,6 @@ struct address_t //TODO scope id
|
|||||||
{
|
{
|
||||||
clear();
|
clear();
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
void clear()
|
void clear()
|
||||||
{
|
{
|
||||||
memset(&inner,0,sizeof(inner));
|
memset(&inner,0,sizeof(inner));
|
||||||
@ -270,10 +270,16 @@ struct address_t //TODO scope id
|
|||||||
char* get_str();
|
char* get_str();
|
||||||
void to_str(char *);
|
void to_str(char *);
|
||||||
|
|
||||||
inline u32_t get_type()
|
inline int is_vaild()
|
||||||
{
|
{
|
||||||
u32_t ret=((sockaddr*)&inner)->sa_family;
|
u32_t ret=((sockaddr*)&inner)->sa_family;
|
||||||
assert(ret==AF_INET||ret==AF_INET6);
|
return (ret==AF_INET||ret==AF_INET6);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline u32_t get_type()
|
||||||
|
{
|
||||||
|
assert(is_vaild());
|
||||||
|
u32_t ret=((sockaddr*)&inner)->sa_family;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ extern int debug_fec_dec;
|
|||||||
struct fec_parameter_t
|
struct fec_parameter_t
|
||||||
{
|
{
|
||||||
int version=0;
|
int version=0;
|
||||||
int mtu=1250;
|
int mtu=default_mtu;
|
||||||
int queue_len=200;
|
int queue_len=200;
|
||||||
int timeout=8*1000;
|
int timeout=8*1000;
|
||||||
int mode=0;
|
int mode=0;
|
||||||
|
7
main.cpp
7
main.cpp
@ -98,6 +98,7 @@ void sigint_cb(struct ev_loop *l, ev_signal *w, int revents)
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
working_mode=tunnel_mode;
|
||||||
init_ws();
|
init_ws();
|
||||||
//unit_test();
|
//unit_test();
|
||||||
|
|
||||||
@ -118,8 +119,6 @@ int main(int argc, char *argv[])
|
|||||||
ev_signal_init(&signal_watcher_sigint, sigint_cb, SIGINT);
|
ev_signal_init(&signal_watcher_sigint, sigint_cb, SIGINT);
|
||||||
ev_signal_start(loop, &signal_watcher_sigint);
|
ev_signal_start(loop, &signal_watcher_sigint);
|
||||||
|
|
||||||
//working_mode=tunnel_mode;
|
|
||||||
|
|
||||||
assert(sizeof(u64_t)==8);
|
assert(sizeof(u64_t)==8);
|
||||||
assert(sizeof(i64_t)==8);
|
assert(sizeof(i64_t)==8);
|
||||||
assert(sizeof(u32_t)==4);
|
assert(sizeof(u32_t)==4);
|
||||||
@ -143,13 +142,9 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
process_arg(argc,argv);
|
process_arg(argc,argv);
|
||||||
|
|
||||||
delay_manager.set_capacity(delay_capacity);
|
delay_manager.set_capacity(delay_capacity);
|
||||||
//local_ip_uint32=inet_addr(local_ip);
|
|
||||||
//remote_ip_uint32=inet_addr(remote_ip);
|
|
||||||
sub_net_uint32=inet_addr(sub_net);// used only in tinyfecVPN
|
|
||||||
|
|
||||||
if(strlen(tun_dev)==0)
|
if(strlen(tun_dev)==0)
|
||||||
{
|
{
|
||||||
|
26
misc.cpp
26
misc.cpp
@ -52,8 +52,10 @@ int keep_reconnect=0;
|
|||||||
|
|
||||||
int tun_mtu=1500;
|
int tun_mtu=1500;
|
||||||
|
|
||||||
int mssfix=1;
|
int mssfix=default_mtu;
|
||||||
|
|
||||||
|
int manual_set_tun=0;
|
||||||
|
int persist_tun=0;
|
||||||
|
|
||||||
char rs_par_str[rs_str_len]="20:10";
|
char rs_par_str[rs_str_len]="20:10";
|
||||||
|
|
||||||
@ -660,8 +662,10 @@ void process_arg(int argc, char *argv[])
|
|||||||
{"sub-net", required_argument, 0, 1},
|
{"sub-net", required_argument, 0, 1},
|
||||||
{"tun-dev", required_argument, 0, 1},
|
{"tun-dev", required_argument, 0, 1},
|
||||||
{"tun-mtu", required_argument, 0, 1},
|
{"tun-mtu", required_argument, 0, 1},
|
||||||
{"disable-mssfix", no_argument, 0, 1},
|
{"mssfix", required_argument, 0, 1},
|
||||||
{"keep-reconnect", no_argument, 0, 1},
|
{"keep-reconnect", no_argument, 0, 1},
|
||||||
|
{"persist-tun", no_argument, 0, 1},
|
||||||
|
{"manual-set-tun", no_argument, 0, 1},
|
||||||
{"interval", required_argument, 0,'i'},
|
{"interval", required_argument, 0,'i'},
|
||||||
{NULL, 0, 0, 0}
|
{NULL, 0, 0, 0}
|
||||||
};
|
};
|
||||||
@ -972,6 +976,16 @@ void process_arg(int argc, char *argv[])
|
|||||||
keep_reconnect=1;
|
keep_reconnect=1;
|
||||||
mylog(log_info,"keep_reconnect enabled\n");
|
mylog(log_info,"keep_reconnect enabled\n");
|
||||||
}
|
}
|
||||||
|
else if(strcmp(long_options[option_index].name,"manual-set-tun")==0)
|
||||||
|
{
|
||||||
|
manual_set_tun=1;
|
||||||
|
mylog(log_info,"manual_set_tun enabled\n");
|
||||||
|
}
|
||||||
|
else if(strcmp(long_options[option_index].name,"persist-tun")==0)
|
||||||
|
{
|
||||||
|
persist_tun=1;
|
||||||
|
mylog(log_info,"persist_tun enabled\n");
|
||||||
|
}
|
||||||
else if(strcmp(long_options[option_index].name,"sub-net")==0)
|
else if(strcmp(long_options[option_index].name,"sub-net")==0)
|
||||||
{
|
{
|
||||||
sscanf(optarg,"%s",sub_net);
|
sscanf(optarg,"%s",sub_net);
|
||||||
@ -983,8 +997,6 @@ void process_arg(int argc, char *argv[])
|
|||||||
sscanf(optarg,"%s",tun_dev);
|
sscanf(optarg,"%s",tun_dev);
|
||||||
mylog(log_info,"tun_dev=%s\n",tun_dev);
|
mylog(log_info,"tun_dev=%s\n",tun_dev);
|
||||||
|
|
||||||
mylog(log_info,"running at tun-dev mode\n");
|
|
||||||
working_mode=tun_dev_mode;
|
|
||||||
}
|
}
|
||||||
else if(strcmp(long_options[option_index].name,"tun-mtu")==0)
|
else if(strcmp(long_options[option_index].name,"tun-mtu")==0)
|
||||||
{
|
{
|
||||||
@ -996,10 +1008,10 @@ void process_arg(int argc, char *argv[])
|
|||||||
sscanf(optarg,"%d",&header_overhead);
|
sscanf(optarg,"%d",&header_overhead);
|
||||||
mylog(log_warn,"changed header_overhead,header_overhead=%d\n",header_overhead);
|
mylog(log_warn,"changed header_overhead,header_overhead=%d\n",header_overhead);
|
||||||
}
|
}
|
||||||
else if(strcmp(long_options[option_index].name,"disable-mssfix")==0)
|
else if(strcmp(long_options[option_index].name,"mssfix")==0)
|
||||||
{
|
{
|
||||||
mssfix=0;
|
sscanf(optarg,"%d",&mssfix);
|
||||||
mylog(log_warn,"mssfix disabled\n");
|
mylog(log_warn,"mssfix=%d\n",mssfix);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
3
misc.h
3
misc.h
@ -55,6 +55,9 @@ extern int tun_mtu;
|
|||||||
|
|
||||||
extern int mssfix;
|
extern int mssfix;
|
||||||
|
|
||||||
|
extern int manual_set_tun;
|
||||||
|
extern int persist_tun;
|
||||||
|
|
||||||
|
|
||||||
int from_normal_to_fec(conn_info_t & conn_info,char *data,int len,int & out_n,char **&out_arr,int *&out_len,my_time_t *&out_delay);
|
int from_normal_to_fec(conn_info_t & conn_info,char *data,int len,int & out_n,char **&out_arr,int *&out_len,my_time_t *&out_delay);
|
||||||
int from_fec_to_normal(conn_info_t & conn_info,char *data,int len,int & out_n,char **&out_arr,int *&out_len,my_time_t *&out_delay);
|
int from_fec_to_normal(conn_info_t & conn_info,char *data,int len,int & out_n,char **&out_arr,int *&out_len,my_time_t *&out_delay);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user