Skip to content

Commit 8614d58

Browse files
sanityclaude
andcommitted
fix: resolve compilation errors after rebase
- Remove duplicate get_peer_location_by_addr functions - Fix socket_addr() calls on SocketAddr (use dereference instead) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent 741ad39 commit 8614d58

File tree

3 files changed

+71
-79
lines changed

3 files changed

+71
-79
lines changed

crates/core/src/node/network_bridge/p2p_protoc.rs

Lines changed: 69 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,9 @@ impl P2pConnManager {
464464
);
465465
match peer_connection {
466466
Some(peer_connection) => {
467-
if let Err(e) = peer_connection.sender.send(Left(msg.clone())).await {
467+
if let Err(e) =
468+
peer_connection.sender.send(Left(msg.clone())).await
469+
{
468470
tracing::error!(
469471
tx = %msg.id(),
470472
"Failed to send message to peer: {}", e
@@ -624,10 +626,11 @@ impl P2pConnManager {
624626
);
625627

626628
// Clean up all active connections
627-
let peers_to_cleanup: Vec<_> =
628-
ctx.connections.iter().map(|(addr, entry)| {
629-
(*addr, entry.pub_key.clone())
630-
}).collect();
629+
let peers_to_cleanup: Vec<_> = ctx
630+
.connections
631+
.iter()
632+
.map(|(addr, entry)| (*addr, entry.pub_key.clone()))
633+
.collect();
631634
for (peer_addr, pub_key_opt) in peers_to_cleanup {
632635
tracing::debug!(%peer_addr, "Cleaning up active connection due to critical channel closure");
633636

@@ -636,7 +639,16 @@ impl P2pConnManager {
636639
PeerId::new(peer_addr, pub_key)
637640
} else {
638641
// Use our own pub_key as placeholder if we don't know the peer's
639-
PeerId::new(peer_addr, (*ctx.bridge.op_manager.ring.connection_manager.pub_key).clone())
642+
PeerId::new(
643+
peer_addr,
644+
(*ctx
645+
.bridge
646+
.op_manager
647+
.ring
648+
.connection_manager
649+
.pub_key)
650+
.clone(),
651+
)
640652
};
641653
ctx.bridge
642654
.op_manager
@@ -696,7 +708,16 @@ impl P2pConnManager {
696708
let peer = if let Some(ref pub_key) = entry.pub_key {
697709
PeerId::new(peer_addr, pub_key.clone())
698710
} else {
699-
PeerId::new(peer_addr, (*ctx.bridge.op_manager.ring.connection_manager.pub_key).clone())
711+
PeerId::new(
712+
peer_addr,
713+
(*ctx
714+
.bridge
715+
.op_manager
716+
.ring
717+
.connection_manager
718+
.pub_key)
719+
.clone(),
720+
)
700721
};
701722
let pub_key_to_remove = entry.pub_key.clone();
702723

@@ -795,13 +816,24 @@ impl P2pConnManager {
795816
}
796817
NodeEvent::QueryConnections { callback } => {
797818
// Reconstruct PeerIds from stored connections
798-
let connections: Vec<PeerId> = ctx.connections.iter()
819+
let connections: Vec<PeerId> = ctx
820+
.connections
821+
.iter()
799822
.map(|(addr, entry)| {
800823
if let Some(ref pub_key) = entry.pub_key {
801824
PeerId::new(*addr, pub_key.clone())
802825
} else {
803826
// Use our own pub_key as placeholder if we don't know the peer's
804-
PeerId::new(*addr, (*ctx.bridge.op_manager.ring.connection_manager.pub_key).clone())
827+
PeerId::new(
828+
*addr,
829+
(*ctx
830+
.bridge
831+
.op_manager
832+
.ring
833+
.connection_manager
834+
.pub_key)
835+
.clone(),
836+
)
805837
}
806838
})
807839
.collect();
@@ -861,12 +893,23 @@ impl P2pConnManager {
861893
}
862894

863895
// Reconstruct PeerIds from stored connections
864-
let connections: Vec<PeerId> = ctx.connections.iter()
896+
let connections: Vec<PeerId> = ctx
897+
.connections
898+
.iter()
865899
.map(|(addr, entry)| {
866900
if let Some(ref pub_key) = entry.pub_key {
867901
PeerId::new(*addr, pub_key.clone())
868902
} else {
869-
PeerId::new(*addr, (*ctx.bridge.op_manager.ring.connection_manager.pub_key).clone())
903+
PeerId::new(
904+
*addr,
905+
(*ctx
906+
.bridge
907+
.op_manager
908+
.ring
909+
.connection_manager
910+
.pub_key)
911+
.clone(),
912+
)
870913
}
871914
})
872915
.collect();
@@ -1894,12 +1937,16 @@ impl P2pConnManager {
18941937
}
18951938
let (tx, rx) = mpsc::channel(10);
18961939
tracing::debug!(self_peer = %self.bridge.op_manager.ring.connection_manager.pub_key, %peer_id, conn_map_size = self.connections.len(), "[CONN_TRACK] INSERT: OutboundConnectionSuccessful - adding to connections HashMap");
1897-
self.connections.insert(peer_id.addr, ConnectionEntry {
1898-
sender: tx,
1899-
pub_key: Some(peer_id.pub_key.clone()),
1900-
});
1940+
self.connections.insert(
1941+
peer_id.addr,
1942+
ConnectionEntry {
1943+
sender: tx,
1944+
pub_key: Some(peer_id.pub_key.clone()),
1945+
},
1946+
);
19011947
// Add to reverse lookup
1902-
self.addr_by_pub_key.insert(peer_id.pub_key.clone(), peer_id.addr);
1948+
self.addr_by_pub_key
1949+
.insert(peer_id.pub_key.clone(), peer_id.addr);
19031950
let Some(conn_events) = self.conn_event_tx.as_ref().cloned() else {
19041951
anyhow::bail!("Connection event channel not initialized");
19051952
};
@@ -2077,7 +2124,8 @@ impl P2pConnManager {
20772124
entry.pub_key = Some(new_peer_id.pub_key.clone());
20782125
}
20792126
// Add new reverse lookup
2080-
self.addr_by_pub_key.insert(new_peer_id.pub_key.clone(), remote_addr);
2127+
self.addr_by_pub_key
2128+
.insert(new_peer_id.pub_key.clone(), remote_addr);
20812129
}
20822130
}
20832131
}
@@ -2106,7 +2154,10 @@ impl P2pConnManager {
21062154
let peer = if let Some(ref pub_key) = entry.pub_key {
21072155
PeerId::new(remote_addr, pub_key.clone())
21082156
} else {
2109-
PeerId::new(remote_addr, (*self.bridge.op_manager.ring.connection_manager.pub_key).clone())
2157+
PeerId::new(
2158+
remote_addr,
2159+
(*self.bridge.op_manager.ring.connection_manager.pub_key).clone(),
2160+
)
21102161
};
21112162
// Remove from reverse lookup
21122163
if let Some(pub_key) = entry.pub_key {

crates/core/src/operations/connect.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -832,10 +832,7 @@ impl Operation for ConnectOp {
832832
// not have a direct connection to the target
833833
if let Some(upstream) = &source_addr {
834834
network_bridge
835-
.send(
836-
upstream.socket_addr(),
837-
NetMessage::V1(NetMessageV1::Connect(msg)),
838-
)
835+
.send(*upstream, NetMessage::V1(NetMessageV1::Connect(msg)))
839836
.await?;
840837
}
841838
}
@@ -882,7 +879,7 @@ impl Operation for ConnectOp {
882879
if let Some(upstream) = &source_addr {
883880
network_bridge
884881
.send(
885-
upstream.socket_addr(),
882+
*upstream,
886883
NetMessage::V1(NetMessageV1::Connect(response_msg)),
887884
)
888885
.await?;

crates/core/src/ring/connection_manager.rs

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -373,62 +373,6 @@ impl ConnectionManager {
373373
None
374374
}
375375

376-
/// Look up a PeerKeyLocation by socket address from connections_by_location or transient connections.
377-
/// Used for connection-based routing when we need full peer info from just an address.
378-
pub fn get_peer_location_by_addr(&self, addr: SocketAddr) -> Option<PeerKeyLocation> {
379-
// Check connections by location
380-
let connections = self.connections_by_location.read();
381-
for conns in connections.values() {
382-
for conn in conns {
383-
if conn.location.addr() == addr {
384-
return Some(conn.location.clone());
385-
}
386-
}
387-
}
388-
drop(connections);
389-
390-
// Check transient connections - construct PeerKeyLocation from PeerId
391-
if let Some((peer, entry)) = self
392-
.transient_connections
393-
.iter()
394-
.find(|e| e.key().addr == addr)
395-
.map(|e| (e.key().clone(), e.value().clone()))
396-
{
397-
let mut pkl = PeerKeyLocation::new(peer.pub_key, peer.addr);
398-
pkl.location = entry.location;
399-
return Some(pkl);
400-
}
401-
None
402-
}
403-
404-
/// Look up a PeerKeyLocation by socket address from connections_by_location or transient connections.
405-
/// Used for connection-based routing when we need full peer info from just an address.
406-
pub fn get_peer_location_by_addr(&self, addr: SocketAddr) -> Option<PeerKeyLocation> {
407-
// Check connections by location
408-
let connections = self.connections_by_location.read();
409-
for conns in connections.values() {
410-
for conn in conns {
411-
if conn.location.addr() == addr {
412-
return Some(conn.location.clone());
413-
}
414-
}
415-
}
416-
drop(connections);
417-
418-
// Check transient connections - construct PeerKeyLocation from PeerId
419-
if let Some((peer, entry)) = self
420-
.transient_connections
421-
.iter()
422-
.find(|e| e.key().addr == addr)
423-
.map(|e| (e.key().clone(), e.value().clone()))
424-
{
425-
let mut pkl = PeerKeyLocation::new(peer.pub_key, peer.addr);
426-
pkl.location = entry.location;
427-
return Some(pkl);
428-
}
429-
None
430-
}
431-
432376
pub fn is_gateway(&self) -> bool {
433377
self.is_gateway
434378
}

0 commit comments

Comments
 (0)