From ac6b5955fc985d390ba1440e49d5fe6e04117810 Mon Sep 17 00:00:00 2001 From: Seb Kuzminsky Date: Mon, 1 Dec 2025 13:19:24 -0700 Subject: [PATCH] add support for Udp interface --- src/main.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main.rs b/src/main.rs index 8ba0ce1..2351819 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,6 +6,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}; #[derive(Serialize, Deserialize, Debug, Clone)] @@ -18,10 +19,17 @@ struct TcpClientConfig { bind_addr: String, } +#[derive(Serialize, Deserialize, Debug, Clone)] +struct UdpConfig { + bind_addr: String, + forward_addr: Option, +} + #[derive(Serialize, Deserialize, Debug, Clone)] enum InterfaceConfig { TcpServer(TcpServerConfig), TcpClient(TcpClientConfig), + Udp(UdpConfig), } #[derive(Serialize, Deserialize, Debug, Clone)] @@ -70,6 +78,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, + ); + } } }