forked from sigil-03/transport-node
Merge pull request 'add support for Udp interface' (#1) from seb/transport-node:udp into main
Reviewed-on: sigil-03/transport-node#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
|
// RETICULUM INCLUDES
|
||||||
use reticulum::iface::tcp_client::TcpClient;
|
use reticulum::iface::tcp_client::TcpClient;
|
||||||
use reticulum::iface::tcp_server::TcpServer;
|
use reticulum::iface::tcp_server::TcpServer;
|
||||||
|
use reticulum::iface::udp::UdpInterface;
|
||||||
use reticulum::transport::{Transport, TransportConfig};
|
use reticulum::transport::{Transport, TransportConfig};
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
|
|
@ -18,10 +19,17 @@ struct TcpClientConfig {
|
||||||
bind_addr: String,
|
bind_addr: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
|
struct UdpConfig {
|
||||||
|
bind_addr: String,
|
||||||
|
forward_addr: Option<String>,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
enum InterfaceConfig {
|
enum InterfaceConfig {
|
||||||
TcpServer(TcpServerConfig),
|
TcpServer(TcpServerConfig),
|
||||||
TcpClient(TcpClientConfig),
|
TcpClient(TcpClientConfig),
|
||||||
|
Udp(UdpConfig),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
|
|
@ -70,6 +78,12 @@ async fn main() {
|
||||||
.await
|
.await
|
||||||
.spawn(TcpClient::new(cfg.bind_addr), TcpClient::spawn);
|
.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