root request

This commit is contained in:
TIBERGHIEN corentin
2026-01-13 17:13:35 +01:00
parent 98fcc1a0b2
commit c852c5bb4a
6 changed files with 210 additions and 78 deletions

View File

@@ -1,5 +1,5 @@
use client_network::{
MerkleNode, MerkleTree, NetworkCommand, NetworkEvent, NodeHash, filename_to_string,
ChunkNode, MerkleNode, MerkleTree, NetworkCommand, NetworkEvent, NodeHash, filename_to_string,
node_hash_to_hex_string,
};
use crossbeam_channel::{Receiver, Sender};
@@ -129,11 +129,28 @@ impl eframe::App for P2PClientApp {
NetworkEvent::FileTreeRootReceived(peer_id, root_hash) => {
// todo!();
self.status_message = format!(
/*self.status_message = format!(
"🔄 Received Merkle Root from {}: {}",
peer_id,
&root_hash[..8]
);
);*/
if let Ok(chunknode) = ChunkNode::new(Vec::new()) {
let mut data_map: HashMap<NodeHash, MerkleNode> = HashMap::new();
data_map.insert(root_hash, MerkleNode::Chunk(chunknode));
let tree = MerkleTree {
data: data_map,
root: root_hash,
};
match &self.active_peer {
Some(activepeer) => {
self.loaded_fs.insert(activepeer.clone(), tree);
}
None => {}
}
println!("tree created");
}
//self.active_peer_id = Some(peer_id.clone());
@@ -365,6 +382,7 @@ impl eframe::App for P2PClientApp {
let _ = self.network_cmd_tx.send(NetworkCommand::Discover(
peer.clone(),
"root".to_string(),
self.connected_address.clone(),
));
}
}