fix formatting

This commit is contained in:
CodeSteak 2019-06-05 19:35:10 +02:00
parent c55182d6cc
commit 3c2984a404
3 changed files with 27 additions and 16 deletions

View File

@ -37,7 +37,7 @@ fn main() -> std::io::Result<()> {
match self::protocol::start_autoconnect_server_async(&network_conf) { match self::protocol::start_autoconnect_server_async(&network_conf) {
Ok(_) => println!("Started Autoconnect Server"), Ok(_) => println!("Started Autoconnect Server"),
Err(e) => println!("Starting Autoconnect Server failed: {:?}", e) Err(e) => println!("Starting Autoconnect Server failed: {:?}", e),
} }
self::protocol::listen_forever(server_state, &network_conf)?; self::protocol::listen_forever(server_state, &network_conf)?;

View File

@ -1,11 +1,11 @@
use super::ProtocolConfig; use super::ProtocolConfig;
use std::thread;
use std::net::UdpSocket;
use std::io; use std::io;
use std::net::SocketAddr;
use std::net::Ipv6Addr; use std::net::Ipv6Addr;
use std::net::SocketAddr;
use std::net::UdpSocket;
use std::str::FromStr; use std::str::FromStr;
use std::thread;
pub fn start_autoconnect_server_async(cfg: &ProtocolConfig) -> io::Result<()> { pub fn start_autoconnect_server_async(cfg: &ProtocolConfig) -> io::Result<()> {
let cfg = cfg.clone(); let cfg = cfg.clone();
@ -13,8 +13,14 @@ pub fn start_autoconnect_server_async(cfg : &ProtocolConfig) -> io::Result<()> {
let multi_sock = UdpSocket::bind((cfg.listen_addr.as_str(), cfg.port))?; let multi_sock = UdpSocket::bind((cfg.listen_addr.as_str(), cfg.port))?;
multi_sock.join_multicast_v6( multi_sock.join_multicast_v6(
&Ipv6Addr::from_str(&cfg.autoconnect_multicastv6_addr).map_err(|_| io::Error::new(io::ErrorKind::InvalidInput, "Configured IPv6 addr. is invalid."))?, &Ipv6Addr::from_str(&cfg.autoconnect_multicastv6_addr).map_err(|_| {
0)?; io::Error::new(
io::ErrorKind::InvalidInput,
"Configured IPv6 addr. is invalid.",
)
})?,
0,
)?;
thread::spawn(move || { thread::spawn(move || {
let mut buffer = vec![0u8; 8096]; let mut buffer = vec![0u8; 8096];
@ -22,19 +28,24 @@ pub fn start_autoconnect_server_async(cfg : &ProtocolConfig) -> io::Result<()> {
match multi_sock.recv_from(&mut buffer) { match multi_sock.recv_from(&mut buffer) {
Ok((pkg_size, sender)) => { Ok((pkg_size, sender)) => {
let _ = respond(&multi_sock, &buffer[0..pkg_size], &sender, &cfg); let _ = respond(&multi_sock, &buffer[0..pkg_size], &sender, &cfg);
}, }
Err(e) => { Err(e) => {
println!("[Autoconnect] failed with : {:?}", e); println!("[Autoconnect] failed with : {:?}", e);
break; break;
} }
} }
}; }
}); });
Ok(()) Ok(())
} }
fn respond(sock : &UdpSocket, input : &[u8], sender : &SocketAddr, cfg : &ProtocolConfig) -> io::Result<()> { fn respond(
sock: &UdpSocket,
input: &[u8],
sender: &SocketAddr,
cfg: &ProtocolConfig,
) -> io::Result<()> {
if input == b"TextureSync" { if input == b"TextureSync" {
sock.send_to(&u16::to_be_bytes(cfg.port), sender)?; sock.send_to(&u16::to_be_bytes(cfg.port), sender)?;
println!("[Autoconnect] Got request from : {}", sender); println!("[Autoconnect] Got request from : {}", sender);

View File

@ -56,7 +56,7 @@ pub struct ProtocolConfig {
pub read_timeout_s: u64, pub read_timeout_s: u64,
pub write_timeout_s: u64, pub write_timeout_s: u64,
pub listen_addr: String, pub listen_addr: String,
pub autoconnect_multicastv6_addr : String pub autoconnect_multicastv6_addr: String,
} }
impl ProtocolConfig { impl ProtocolConfig {