network: move out channel size constants

This commit is contained in:
Alex Zenla 2024-02-12 17:40:11 +00:00
parent 60c9aefdda
commit d595f1639a
No known key found for this signature in database
GPG Key ID: 067B238899B51269
4 changed files with 12 additions and 6 deletions

View File

@ -19,6 +19,8 @@ use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::select;
use tokio::sync::mpsc::{channel, Receiver};
const TX_CHANNEL_BUFFER_LEN: usize = 300;
#[derive(Clone)]
pub struct NetworkBackend {
metadata: NetworkMetadata,
@ -121,7 +123,7 @@ impl NetworkBackend {
];
let mut kdev = AsyncRawSocket::bound_to_interface(&interface, RawSocketProtocol::Ethernet)?;
let mtu = kdev.mtu_of_interface(&interface)?;
let (tx_sender, tx_receiver) = channel::<BytesMut>(100);
let (tx_sender, tx_receiver) = channel::<BytesMut>(TX_CHANNEL_BUFFER_LEN);
let mut udev = ChannelDevice::new(mtu, Medium::Ethernet, tx_sender.clone());
let mac = self.metadata.gateway.mac;
let nat = NatRouter::new(mtu, proxy, mac, addresses.clone(), tx_sender.clone());

View File

@ -25,6 +25,8 @@ use tokio::sync::mpsc::channel;
use tokio::sync::mpsc::Receiver;
use tokio::sync::mpsc::Sender;
const RECLAIM_CHANNEL_QUEUE_LEN: usize = 10;
#[derive(Debug, Copy, Clone, Eq, PartialEq, PartialOrd, Ord, Hash)]
pub enum NatKeyProtocol {
Tcp,
@ -118,7 +120,7 @@ impl NatRouter {
local_cidrs: Vec<IpCidr>,
tx_sender: Sender<BytesMut>,
) -> Self {
let (reclaim_sender, reclaim_receiver) = channel(4);
let (reclaim_sender, reclaim_receiver) = channel(RECLAIM_CHANNEL_QUEUE_LEN);
Self {
mtu,
local_mac,

View File

@ -32,6 +32,8 @@ const TCP_BUFFER_SIZE: usize = 65535;
const TCP_ACCEPT_TIMEOUT_SECS: u64 = 120;
const TCP_DANGLE_TIMEOUT_SECS: u64 = 10;
const TCP_IP_BUFFER_LEN: usize = 300;
pub struct ProxyTcpHandler {
rx_sender: Sender<BytesMut>,
}
@ -108,7 +110,7 @@ impl ProxyTcpHandler {
mut external_socket: TcpStream,
mut rx_receiver: Receiver<BytesMut>,
) -> Result<()> {
let (ip_sender, mut ip_receiver) = channel::<BytesMut>(300);
let (ip_sender, mut ip_receiver) = channel::<BytesMut>(TCP_IP_BUFFER_LEN);
let mut external_buffer = vec![0u8; TCP_BUFFER_SIZE];
let mut device = ChannelDevice::new(

View File

@ -21,9 +21,9 @@ use tokio::{
const BROADCAST_MAC_ADDR: &[u8; 6] = &[0xff; 6];
const BRIDGE_TX_QUEUE_LEN: usize = 4;
const BRIDGE_RX_QUEUE_LEN: usize = 4;
const BROADCAST_RX_QUEUE_LEN: usize = 4;
const BRIDGE_TX_QUEUE_LEN: usize = 50;
const BRIDGE_RX_QUEUE_LEN: usize = 50;
const BROADCAST_RX_QUEUE_LEN: usize = 50;
#[derive(Debug)]
struct BridgeMember {