rust-nex/rnex-core/src/rnex_proxy_common.rs
2026-04-06 16:42:08 +02:00

40 lines
1 KiB
Rust

use crate::{PID, prudp::socket_addr::PRUDPSockAddr};
use macros::RmcSerialize;
#[derive(Debug, RmcSerialize, PartialEq, Eq)]
#[rmc_struct(0)]
pub struct ConnectionInitData {
pub prudpsock_addr: PRUDPSockAddr,
pub pid: PID,
}
#[cfg(test)]
mod test {
use std::{
io::Cursor,
net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4},
};
use crate::{
prudp::{socket_addr::PRUDPSockAddr, virtual_port::VirtualPort},
rmc::structures::RmcSerialize,
rnex_proxy_common::ConnectionInitData,
};
#[test]
fn test() {
let data = ConnectionInitData {
prudpsock_addr: PRUDPSockAddr {
regular_socket_addr: SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::BROADCAST, 19293)),
virtual_port: VirtualPort::new(10, 2),
},
pid: 100,
};
let ser = data.to_data().unwrap();
let de = ConnectionInitData::deserialize(&mut Cursor::new(ser)).unwrap();
assert_eq!(data, de);
}
}