code tidy
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
mod cryptographic_signature;
|
||||
mod data;
|
||||
mod datum_generation;
|
||||
mod datum_parsing;
|
||||
mod fetchsocketaddresserror;
|
||||
mod message_handling;
|
||||
@@ -21,18 +20,16 @@ use crate::{
|
||||
message_handling::EventType,
|
||||
messages_channels::{MultipleSenders, start_receving_thread, start_retry_thread},
|
||||
messages_structure::{
|
||||
DATUM, DATUMREQUEST, NATTRAVERSALREQUEST, NATTRAVERSALREQUEST2, NODATUM, PING, ROOTREQUEST,
|
||||
construct_message,
|
||||
DATUM, DATUMREQUEST, NATTRAVERSALREQUEST, NODATUM, PING, ROOTREQUEST, construct_message,
|
||||
},
|
||||
peers_refresh::HandshakeHistory,
|
||||
registration::{parse_addresses, perform_handshake, register_with_the_server},
|
||||
server_communication::{generate_id, get_peer_list},
|
||||
threads_handling::Worker,
|
||||
};
|
||||
use std::collections::HashSet;
|
||||
use std::{
|
||||
io::Error,
|
||||
net::{IpAddr, Ipv4Addr, UdpSocket},
|
||||
net::{IpAddr, UdpSocket},
|
||||
time::Duration,
|
||||
};
|
||||
use std::{
|
||||
@@ -274,12 +271,8 @@ pub fn start_p2p_executor(
|
||||
None => {}
|
||||
Some(resp_msg) => {
|
||||
println!("msg_sent:{:?}", resp_msg);
|
||||
sd.senders_ref().send_dispatch(
|
||||
resp_msg,
|
||||
addr.clone(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
sd.senders_ref()
|
||||
.send_dispatch(resp_msg, addr.clone(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -296,12 +289,8 @@ pub fn start_p2p_executor(
|
||||
None => {}
|
||||
Some(resp_msg) => {
|
||||
println!("msg_sent:{:?}", resp_msg);
|
||||
sd.senders_ref().send_dispatch(
|
||||
resp_msg,
|
||||
addr.clone(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
sd.senders_ref()
|
||||
.send_dispatch(resp_msg, addr.clone(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -319,12 +308,8 @@ pub fn start_p2p_executor(
|
||||
None => {}
|
||||
Some(resp_msg) => {
|
||||
println!("msg_sent:{:?}", resp_msg);
|
||||
sd.senders_ref().send_dispatch(
|
||||
resp_msg,
|
||||
addr.clone(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
sd.senders_ref()
|
||||
.send_dispatch(resp_msg, addr.clone(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -396,7 +381,7 @@ pub fn start_p2p_executor(
|
||||
println!("no shared data");
|
||||
}
|
||||
}
|
||||
NetworkCommand::ConnectPeer((username, connected)) => {
|
||||
NetworkCommand::ConnectPeer((username, _)) => {
|
||||
println!("[Network] ConnectPeer() called");
|
||||
println!("[Network] Attempting to connect to: {}", username);
|
||||
// Network logic to connect...
|
||||
@@ -406,7 +391,7 @@ pub fn start_p2p_executor(
|
||||
NetworkCommand::RequestFileTree(_) => {
|
||||
println!("[Network] RequestFileTree() called");
|
||||
}
|
||||
NetworkCommand::Discover(username, hash, ip) => {
|
||||
NetworkCommand::Discover(username, _, ip) => {
|
||||
// envoie un handshake au peer, puis un root request
|
||||
if let Some(sd) = shared_data.as_ref() {
|
||||
let res = sd
|
||||
@@ -439,7 +424,6 @@ pub fn start_p2p_executor(
|
||||
resp_msg,
|
||||
peerinfo.ip.to_string(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -503,12 +487,7 @@ pub fn start_p2p_executor(
|
||||
false,
|
||||
);
|
||||
|
||||
sd.senders_ref().send_dispatch(
|
||||
resp_msg,
|
||||
ip.clone(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
sd.senders_ref().send_dispatch(resp_msg, ip.clone(), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -529,9 +508,18 @@ pub fn start_p2p_executor(
|
||||
Err(e) => {
|
||||
let mut err_msg = String::from("failed to initialize socket: ");
|
||||
err_msg += &e.to_string();
|
||||
let res =
|
||||
event_tx.send(NetworkEvent::Error(err_msg, name.to_owned()));
|
||||
let res = event_tx.send(NetworkEvent::Disconnected());
|
||||
match event_tx.send(NetworkEvent::Error(err_msg, name.to_owned())) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
match event_tx.send(NetworkEvent::Disconnected()) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
None
|
||||
}
|
||||
};
|
||||
@@ -540,11 +528,25 @@ pub fn start_p2p_executor(
|
||||
if let Err(e) = register_with_the_server(&sd.cryptopair(), &ip).await {
|
||||
let mut err_msg = String::from("request failed: ");
|
||||
err_msg += &e.to_string();
|
||||
let res =
|
||||
event_tx.send(NetworkEvent::Error(err_msg, name.to_owned()));
|
||||
let res = event_tx.send(NetworkEvent::Disconnected());
|
||||
match event_tx.send(NetworkEvent::Error(err_msg, name.to_owned())) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
match event_tx.send(NetworkEvent::Disconnected()) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
} else {
|
||||
let res = event_tx.send(NetworkEvent::Connected(ip));
|
||||
match event_tx.send(NetworkEvent::Connected(ip)) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
println!("username created: {}", sd.cryptopair().username);
|
||||
}
|
||||
//println!("ip: {}", ip);
|
||||
@@ -563,10 +565,15 @@ pub fn start_p2p_executor(
|
||||
NetworkCommand::FetchPeerList(ip) => {
|
||||
println!("[Network] FetchPeerList() called");
|
||||
if ip == "" {
|
||||
let res = event_tx.send(NetworkEvent::Error(
|
||||
match event_tx.send(NetworkEvent::Error(
|
||||
"Not registered to any server".to_string(),
|
||||
"".to_owned(),
|
||||
));
|
||||
)) {
|
||||
Ok(_) => {}
|
||||
Err(err) => {
|
||||
println!("Network Event Error : {}", err.to_string());
|
||||
}
|
||||
};
|
||||
} else {
|
||||
println!("cc");
|
||||
match get_peer_list(ip).await {
|
||||
@@ -691,7 +698,6 @@ pub fn start_p2p_executor(
|
||||
),
|
||||
server_addr.to_string(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
}
|
||||
Err(err_msg) => {
|
||||
@@ -730,22 +736,6 @@ fn socket_addr_to_vec(addr: SocketAddr) -> Vec<u8> {
|
||||
v
|
||||
}
|
||||
|
||||
fn parse_pack(s: &str) -> Option<[u8; 6]> {
|
||||
// split into "ip" and "port"
|
||||
let mut parts = s.rsplitn(2, ':');
|
||||
let port_str = parts.next()?;
|
||||
let ip_str = parts.next()?; // if missing, invalid
|
||||
|
||||
let ip: Ipv4Addr = ip_str.parse().ok()?;
|
||||
let port: u16 = port_str.parse().ok()?;
|
||||
|
||||
let octets = ip.octets();
|
||||
let port_be = port.to_be_bytes();
|
||||
Some([
|
||||
octets[0], octets[1], octets[2], octets[3], port_be[0], port_be[1],
|
||||
])
|
||||
}
|
||||
|
||||
async fn quick_ping(addr: &SocketAddr, timeout_ms: u64, sd: &P2PSharedData) -> bool {
|
||||
let id = generate_id();
|
||||
let pingreq = construct_message(PING, Vec::new(), id, &sd.shared_cryptopair);
|
||||
@@ -753,7 +743,7 @@ async fn quick_ping(addr: &SocketAddr, timeout_ms: u64, sd: &P2PSharedData) -> b
|
||||
if let Some(ping) = pingreq {
|
||||
sd.add_message(id, EventType::Ping);
|
||||
sd.senders_ref()
|
||||
.send_dispatch(ping, addr.to_string(), false, sd.messages_list());
|
||||
.send_dispatch(ping, addr.to_string(), false);
|
||||
}
|
||||
|
||||
sleep(Duration::from_millis(timeout_ms)).await;
|
||||
@@ -848,7 +838,6 @@ pub async fn get_socket_address(
|
||||
natreq.expect("couldnt construct message nattraversalrequest2"),
|
||||
sd.serveraddress().to_string(),
|
||||
false,
|
||||
sd.messages_list(),
|
||||
);
|
||||
|
||||
sleep(Duration::from_millis(5000)).await;
|
||||
|
||||
Reference in New Issue
Block a user