Compare commits

..

5 commits

View file

@ -9,6 +9,7 @@ use serde::{Deserialize, Serialize};
// RETICULUM INCLUDES
use reticulum::iface::tcp_client::TcpClient;
use reticulum::iface::tcp_server::TcpServer;
use reticulum::iface::udp::UdpInterface;
use reticulum::transport::{Transport, TransportConfig};
use tokio::time::{Duration, interval};
@ -22,10 +23,17 @@ struct TcpClientConfig {
bind_addr: String,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
struct UdpConfig {
bind_addr: String,
forward_addr: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Clone)]
enum InterfaceConfig {
TcpServer(TcpServerConfig),
TcpClient(TcpClientConfig),
Udp(UdpConfig),
}
#[derive(Serialize, Deserialize, Debug, Clone)]
@ -84,6 +92,12 @@ async fn main() {
.await
.spawn(TcpClient::new(cfg.bind_addr), TcpClient::spawn);
}
InterfaceConfig::Udp(cfg) => {
let _ = transport.iface_manager().lock().await.spawn(
UdpInterface::new(cfg.bind_addr, cfg.forward_addr),
UdpInterface::spawn,
);
}
}
}