Add logging to peer connection and synchronization processes

This commit is contained in:
geoffsee
2025-06-15 16:12:35 -04:00
parent ff956c98da
commit 9dfea97e18
3 changed files with 18 additions and 2 deletions

View File

@@ -195,6 +195,7 @@ async fn on_peer_message(
/// ---- Individual peer-message helpers ----
async fn handle_peer_discovered(socket: SocketRef, p2p: Arc<P2PManager>, data: &JsonValue) {
if let Some(peer_id) = data.get("peer_id").and_then(|id| id.as_str()) {
info!(peer_id = peer_id, "Peer discovered, initiating peering");
p2p.ledger.add_known_node(peer_id.to_owned());
socket
.emit(
@@ -207,10 +208,12 @@ async fn handle_peer_discovered(socket: SocketRef, p2p: Arc<P2PManager>, data: &
async fn handle_advertise(socket: SocketRef, p2p: Arc<P2PManager>, data: &JsonValue) {
if let Some(peer_id) = data.get("peer_id").and_then(|id| id.as_str()) {
info!(peer_id = peer_id, "Received peer advertisement, establishing connection");
p2p.ledger.add_known_node(peer_id.to_owned());
socket
.emit("peer_ack", &json!({ "type": "ack", "peer_id": p2p.node_id() }))
.ok();
info!(peer_id = peer_id, "Sent acknowledgment to peer, connection established");
socket
.emit(
"peer_sync_request",
@@ -235,6 +238,10 @@ async fn handle_sync_request(socket: SocketRef, p2p: Arc<P2PManager>, _data: &Js
}
async fn handle_sync_response(_socket: SocketRef, p2p: Arc<P2PManager>, data: &JsonValue) {
if let Some(peer_id) = data.get("peer_id").and_then(|id| id.as_str()) {
info!(peer_id = peer_id, "Received sync response from peer, peering active");
}
if let Some(entries_val) = data.get("entries") {
if let Ok(entries) = serde_json::from_value::<Vec<LedgerEntry>>(entries_val.clone()) {
for e in entries {

View File

@@ -123,18 +123,19 @@ impl P2PManager {
/// Handle a new connection from another node
pub fn handle_connection(&self, socket: SocketRef, data: JsonValue) {
info!(ns = socket.ns(), ?socket.id, "P2P node connected");
// Extract the node ID from the connection data
let node_id = match data.get("node_id") {
Some(id) => id.as_str().unwrap_or("unknown").to_string(),
None => "unknown".to_string(),
};
info!(ns = socket.ns(), ?socket.id, node_id = node_id, "P2P node connected, establishing peering");
// Add the node to the connected nodes
{
let mut connected_nodes = self.connected_nodes.lock().unwrap();
connected_nodes.insert(node_id.clone(), socket.clone());
info!(peer_id = node_id, "Successfully peered with node");
}
// Add the node to the known nodes in the ledger