mirror of
				https://github.com/edera-dev/krata.git
				synced 2025-11-03 07:19:37 +00:00 
			
		
		
		
	network: move out channel size constants
This commit is contained in:
		@ -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());
 | 
			
		||||
 | 
			
		||||
@ -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,
 | 
			
		||||
 | 
			
		||||
@ -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(
 | 
			
		||||
 | 
			
		||||
@ -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 {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user