解决部分linux CPU飙升问题
This commit is contained in:
@@ -32,6 +32,7 @@ pub fn default_config(start_args: StartArgs) -> Result<StartConfig, String> {
|
|||||||
if token.len() > 64 {
|
if token.len() > 64 {
|
||||||
return Err("token不能超过64字符(Token cannot exceed 64 characters)".to_string());
|
return Err("token不能超过64字符(Token cannot exceed 64 characters)".to_string());
|
||||||
}
|
}
|
||||||
|
println!("token:{:?}",token);
|
||||||
let name = start_args.name.unwrap_or_else(|| {
|
let name = start_args.name.unwrap_or_else(|| {
|
||||||
if let Some(c) = &args_config {
|
if let Some(c) = &args_config {
|
||||||
if !c.name.is_empty() {
|
if !c.name.is_empty() {
|
||||||
@@ -46,6 +47,7 @@ pub fn default_config(start_args: StartArgs) -> Result<StartConfig, String> {
|
|||||||
} else {
|
} else {
|
||||||
name.to_string()
|
name.to_string()
|
||||||
};
|
};
|
||||||
|
println!("name:{:?}",name);
|
||||||
let device_id = start_args.device_id.unwrap_or_else(|| {
|
let device_id = start_args.device_id.unwrap_or_else(|| {
|
||||||
if let Some(c) = &args_config {
|
if let Some(c) = &args_config {
|
||||||
if !c.device_id.is_empty() {
|
if !c.device_id.is_empty() {
|
||||||
@@ -61,6 +63,7 @@ pub fn default_config(start_args: StartArgs) -> Result<StartConfig, String> {
|
|||||||
if device_id.is_empty() || device_id.len() > 64 {
|
if device_id.is_empty() || device_id.len() > 64 {
|
||||||
return Err("设备id不能为空并且长度不能大于64字符(The device id cannot be empty and the length cannot be greater than 64 characters)".to_string());
|
return Err("设备id不能为空并且长度不能大于64字符(The device id cannot be empty and the length cannot be greater than 64 characters)".to_string());
|
||||||
}
|
}
|
||||||
|
println!("device_id:{:?}",device_id);
|
||||||
let server = match start_args.server.unwrap_or_else(|| {
|
let server = match start_args.server.unwrap_or_else(|| {
|
||||||
if let Some(c) = &args_config {
|
if let Some(c) = &args_config {
|
||||||
if !c.server.is_empty() {
|
if !c.server.is_empty() {
|
||||||
@@ -80,6 +83,7 @@ pub fn default_config(start_args: StartArgs) -> Result<StartConfig, String> {
|
|||||||
return Err(format!("中继服务器地址错误( Relay server address error) :{:?}", e));
|
return Err(format!("中继服务器地址错误( Relay server address error) :{:?}", e));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
println!("中继服务器:{:?}",server);
|
||||||
let nat_test_server = start_args.nat_test_server.unwrap_or_else(|| {
|
let nat_test_server = start_args.nat_test_server.unwrap_or_else(|| {
|
||||||
if let Some(c) = &args_config {
|
if let Some(c) = &args_config {
|
||||||
if !c.nat_test_server.is_empty() {
|
if !c.nat_test_server.is_empty() {
|
||||||
@@ -92,6 +96,7 @@ pub fn default_config(start_args: StartArgs) -> Result<StartConfig, String> {
|
|||||||
if nat_test_server.is_empty() {
|
if nat_test_server.is_empty() {
|
||||||
return Err("NAT检测服务地址错误(NAT detection service address error)".to_string());
|
return Err("NAT检测服务地址错误(NAT detection service address error)".to_string());
|
||||||
}
|
}
|
||||||
|
println!("NAT探测服务器:{:?}",nat_test_server);
|
||||||
let base_config = StartConfig {
|
let base_config = StartConfig {
|
||||||
name,
|
name,
|
||||||
token,
|
token,
|
||||||
|
|||||||
@@ -55,9 +55,7 @@ impl Switch {
|
|||||||
punch_handler::start_symmetric(punch, current_device.clone());
|
punch_handler::start_symmetric(punch, current_device.clone());
|
||||||
punch_handler::start_punch(nat_test.clone(), device_list.clone(), channel.sender()?, current_device.clone());
|
punch_handler::start_punch(nat_test.clone(), device_list.clone(), channel.sender()?, current_device.clone());
|
||||||
//tun数据接收处理
|
//tun数据接收处理
|
||||||
for _ in 0..2 {
|
tun_handler::start(channel.sender()?, tun_reader.clone(), tun_writer.clone(), current_device.clone());
|
||||||
tun_handler::start(channel.sender()?, tun_reader.clone(), tun_writer.clone(), current_device.clone());
|
|
||||||
}
|
|
||||||
//外部数据接收处理
|
//外部数据接收处理
|
||||||
let channel_recv_handler = recv_handler::RecvHandler::new(channel.try_clone()?, current_device.clone(), device_list.clone(), register.clone(),
|
let channel_recv_handler = recv_handler::RecvHandler::new(channel.try_clone()?, current_device.clone(), device_list.clone(), register.clone(),
|
||||||
nat_test.clone(), tun_writer.clone(), connect_status.clone(), peer_nat_info_map.clone());
|
nat_test.clone(), tun_writer.clone(), connect_status.clone(), peer_nat_info_map.clone());
|
||||||
|
|||||||
Reference in New Issue
Block a user