Skip to content
Snippets Groups Projects
Commit 801747cb authored by Pierre Krieger's avatar Pierre Krieger Committed by Arkadiy Paronyan
Browse files

Fix nodes not connecting to each other (#330)

* Fix nodes not connecting to each other

* Only report external addresses
parent c78478cf
Branches
No related merge requests found
......@@ -464,7 +464,6 @@ fn init_thread(
match swarm_controller.listen_on(listen_addr.clone()) {
Ok(new_addr) => {
*shared.original_listened_addr.write() = Some(new_addr.clone());
shared.listened_addrs.write().push(new_addr);
},
Err(_) => {
warn!(target: "sub-libp2p", "Can't listen on {}, protocol not \
......@@ -623,19 +622,27 @@ fn build_kademlia_response(shared: &Arc<Shared>, searched: &PeerstorePeerId)
// TODO the iter of `known_closest_peers` should be infinite
.known_closest_peers(searched)
.map(move |peer_id| {
let addrs = shared.network_state.addrs_of_peer(&peer_id);
let connec_ty = if shared.network_state.has_connection(&peer_id) {
// TODO: this only checks connections with substrate ; but what
// if we're connected through Kademlia only?
KadConnectionType::Connected
if peer_id == *shared.kad_system.local_peer_id() {
KadPeer {
node_id: peer_id.clone(),
multiaddrs: shared.listened_addrs.read().clone(),
connection_ty: KadConnectionType::Connected,
}
} else {
KadConnectionType::NotConnected
};
let addrs = shared.network_state.addrs_of_peer(&peer_id);
let connec_ty = if shared.network_state.has_connection(&peer_id) {
// TODO: this only checks connections with substrate ; but what
// if we're connected through Kademlia only?
KadConnectionType::Connected
} else {
KadConnectionType::NotConnected
};
KadPeer {
node_id: peer_id.clone(),
multiaddrs: addrs,
connection_ty: connec_ty,
KadPeer {
node_id: peer_id.clone(),
multiaddrs: addrs,
connection_ty: connec_ty,
}
}
})
.collect::<Vec<_>>()
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment