This commit is contained in:
Tiago Batista Cardoso
2026-01-24 23:04:01 +01:00
parent 7a1155c0bd
commit 95c2dfe83c
4 changed files with 237 additions and 104 deletions

View File

@@ -194,8 +194,8 @@ pub enum NetworkEvent {
Connected(String),
ConnectedHandshake(),
Disconnected(),
Error(String),
Success(String),
Error(String, String),
Success(String, String),
PeerConnected(String),
PeerListUpdated(Vec<(String, bool)>),
FileTreeReceived([u8; 32], MerkleNode, String), // peer_id, content
@@ -458,7 +458,8 @@ 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));
let res =
event_tx.send(NetworkEvent::Error(err_msg, name.to_owned()));
let res = event_tx.send(NetworkEvent::Disconnected());
None
}
@@ -468,7 +469,8 @@ 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));
let res =
event_tx.send(NetworkEvent::Error(err_msg, name.to_owned()));
let res = event_tx.send(NetworkEvent::Disconnected());
} else {
let res = event_tx.send(NetworkEvent::Connected(ip));
@@ -492,6 +494,7 @@ pub fn start_p2p_executor(
if ip == "" {
let res = event_tx.send(NetworkEvent::Error(
"Not registered to any server".to_string(),
"".to_owned(),
));
} else {
println!("cc");
@@ -530,7 +533,7 @@ pub fn start_p2p_executor(
let pingrequest =
construct_message(PING, Vec::new(), id, sd.cryptopair_ref());
let peer_address =
get_socket_address(str, ip, shared_data.as_ref()).await;
get_socket_address(str.to_owned(), ip, shared_data.as_ref()).await;
match peer_address {
Ok(addr) => {
//if let Some(ping) = pingrequest {
@@ -546,10 +549,13 @@ pub fn start_p2p_executor(
// sd.messages_list(),
// );
//}
match event_tx.send(NetworkEvent::Success(format!(
"Successfully sent ping message to {}.",
addr.to_string()
))) {
match event_tx.send(NetworkEvent::Success(
format!(
"Successfully sent ping message to {}.",
addr.to_string(),
),
str.to_owned(),
)) {
Ok(_) => {}
Err(e) => {
eprintln!("NetworkEvent error : {}", e);
@@ -557,7 +563,9 @@ pub fn start_p2p_executor(
};
}
Err(err_msg) => {
match event_tx.send(NetworkEvent::Error(err_msg.to_string())) {
match event_tx
.send(NetworkEvent::Error(err_msg.to_string(), str))
{
Ok(_) => {}
Err(e) => {
eprintln!("NetworkEvent error : {}", e);
@@ -624,7 +632,9 @@ pub fn start_p2p_executor(
);
}
Err(err_msg) => {
match event_tx.send(NetworkEvent::Error(err_msg.to_string())) {
match event_tx
.send(NetworkEvent::Error(err_msg.to_string(), username))
{
Ok(_) => {}
Err(e) => {
eprintln!("NetworkEvent error : {}", e);

View File

@@ -317,10 +317,10 @@ pub fn parse_message(
String::from_utf8(received_message[LENGTH..(msg_length + LENGTH + 4)].to_vec())
{
let err_msg = format!("Error received from peer {} : {}", ip, err_received);
let _ = cmd_tx_clone.send(NetworkEvent::Error(err_msg));
let _ = cmd_tx_clone.send(NetworkEvent::Error(err_msg, "".to_owned()));
} else {
let err_msg = format!("Error received from peer {} : N/A", ip,);
let _ = cmd_tx_clone.send(NetworkEvent::Error(err_msg));
let _ = cmd_tx_clone.send(NetworkEvent::Error(err_msg, "".to_owned()));
}
}

View File

@@ -92,7 +92,7 @@ pub async fn perform_handshake(
}
None => {
let err_msg = format!("failed to retreive socket address:").to_string();
let res = event_tx.send(NetworkEvent::Error(err_msg));
let res = event_tx.send(NetworkEvent::Error(err_msg, "".to_owned()));
}
}