mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
smoltcp use larger tx/rx buf size (#1085)
* smoltcp use larger tx/rx buf size * fix direct conn check
This commit is contained in:
@@ -21,7 +21,7 @@ use crate::{
|
|||||||
},
|
},
|
||||||
ip_reassembler::IpReassembler,
|
ip_reassembler::IpReassembler,
|
||||||
kcp_proxy::NatDstKcpConnector,
|
kcp_proxy::NatDstKcpConnector,
|
||||||
tokio_smoltcp::{channel_device, Net, NetConfig},
|
tokio_smoltcp::{channel_device, BufferSize, Net, NetConfig},
|
||||||
},
|
},
|
||||||
tunnel::packet_def::{PacketType, ZCPacket},
|
tunnel::packet_def::{PacketType, ZCPacket},
|
||||||
};
|
};
|
||||||
@@ -318,6 +318,11 @@ impl Socks5ServerNet {
|
|||||||
.parse()
|
.parse()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![format!("{}", ipv4_addr.address()).parse().unwrap()],
|
vec![format!("{}", ipv4_addr.address()).parse().unwrap()],
|
||||||
|
Some(BufferSize {
|
||||||
|
tcp_rx_size: 1024 * 128,
|
||||||
|
tcp_tx_size: 1024 * 128,
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -523,6 +523,8 @@ impl<C: NatDstConnector> TcpProxy<C> {
|
|||||||
|| cfg!(any(target_os = "android", target_env = "ohos"))
|
|| cfg!(any(target_os = "android", target_env = "ohos"))
|
||||||
{
|
{
|
||||||
// use smoltcp network stack
|
// use smoltcp network stack
|
||||||
|
|
||||||
|
use crate::gateway::tokio_smoltcp::BufferSize;
|
||||||
self.local_port
|
self.local_port
|
||||||
.store(8899, std::sync::atomic::Ordering::Relaxed);
|
.store(8899, std::sync::atomic::Ordering::Relaxed);
|
||||||
|
|
||||||
@@ -573,6 +575,11 @@ impl<C: NatDstConnector> TcpProxy<C> {
|
|||||||
.parse()
|
.parse()
|
||||||
.unwrap(),
|
.unwrap(),
|
||||||
vec![format!("{}", self.get_local_ip().unwrap()).parse().unwrap()],
|
vec![format!("{}", self.get_local_ip().unwrap()).parse().unwrap()],
|
||||||
|
Some(BufferSize {
|
||||||
|
tcp_rx_size: 1024 * 16,
|
||||||
|
tcp_tx_size: 1024 * 16,
|
||||||
|
..Default::default()
|
||||||
|
}),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
net.set_any_ip(true);
|
net.set_any_ip(true);
|
||||||
|
|||||||
@@ -54,12 +54,17 @@ pub struct NetConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl NetConfig {
|
impl NetConfig {
|
||||||
pub fn new(interface_config: Config, ip_addr: IpCidr, gateway: Vec<IpAddress>) -> Self {
|
pub fn new(
|
||||||
|
interface_config: Config,
|
||||||
|
ip_addr: IpCidr,
|
||||||
|
gateway: Vec<IpAddress>,
|
||||||
|
buffer_size: Option<BufferSize>,
|
||||||
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
interface_config,
|
interface_config,
|
||||||
ip_addr,
|
ip_addr,
|
||||||
gateway,
|
gateway,
|
||||||
buffer_size: Default::default(),
|
buffer_size: buffer_size.unwrap_or_default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -334,6 +334,8 @@ impl PeerManager {
|
|||||||
pub fn has_directly_connected_conn(&self, peer_id: PeerId) -> bool {
|
pub fn has_directly_connected_conn(&self, peer_id: PeerId) -> bool {
|
||||||
if let Some(peer) = self.peers.get_peer_by_id(peer_id) {
|
if let Some(peer) = self.peers.get_peer_by_id(peer_id) {
|
||||||
peer.has_directly_connected_conn()
|
peer.has_directly_connected_conn()
|
||||||
|
} else if self.foreign_network_client.get_peer_map().has_peer(peer_id) {
|
||||||
|
true
|
||||||
} else {
|
} else {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user