fn create_onion_streams() -> (TcpOnion, UdpOnion) {
    let (udp_onion_tx, udp_onion_rx) = mpsc::channel(ONION_CHANNEL_SIZE);
    let (tcp_onion_tx, tcp_onion_rx) = mpsc::channel(ONION_CHANNEL_SIZE);
    let tcp_onion = TcpOnion {
        tx: tcp_onion_tx,
        rx: udp_onion_rx,
    };
    let udp_onion = UdpOnion {
        tx: udp_onion_tx,
        rx: tcp_onion_rx,
    };
    (tcp_onion, udp_onion)
}
/// Create onion streams for TCP and UDP servers communication.
Create onion streams for TCP and UDP servers communication.
Create onion streams for TCP and UDP servers communication .
fn create_onion_streams() -> (TcpOnion, UdpOnion) {
    let (udp_onion_tx, udp_onion_rx) = mpsc::channel(ONION_CHANNEL_SIZE);
    let (tcp_onion_tx, tcp_onion_rx) = mpsc::channel(ONION_CHANNEL_SIZE);
    let tcp_onion = TcpOnion {
        tx: tcp_onion_tx,
        rx: udp_onion_rx,
    };
    let udp_onion = UdpOnion {
        tx: udp_onion_tx,
        rx: tcp_onion_rx,
    };
    (tcp_onion, udp_onion)
}
fn create_onion_streams ( ) -> ( TcpOnion , UdpOnion ) { let ( udp_onion_tx , udp_onion_rx ) = mpsc :: channel ( ONION_CHANNEL_SIZE ) ; let ( tcp_onion_tx , tcp_onion_rx ) = mpsc :: channel ( ONION_CHANNEL_SIZE ) ; let tcp_onion = TcpOnion { tx : tcp_onion_tx , rx : udp_onion_rx , } ; let udp_onion = UdpOnion { tx : udp_onion_tx , rx : tcp_onion_rx , } ; ( tcp_onion , udp_onion ) }
Create onion streams for TCP and UDP servers communication.
Create onion streams for TCP and UDP servers communication .