Merge pull request 'add support for Udp interface' (#1) from seb/transport-node:udp into main
Reviewed-on: #1
This commit is contained in:
commit
b53def2613
1 changed files with 14 additions and 0 deletions
14
src/main.rs
14
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<String>,
|
||||
}
|
||||
|
||||
#[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,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue