Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Commit

Permalink
Fix nodes not connecting to each other (#330)
Browse files Browse the repository at this point in the history
* Fix nodes not connecting to each other

* Only report external addresses
  • Loading branch information
tomaka authored and arkpar committed Jul 16, 2018
1 parent 73ade35 commit e20d48b
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions substrate/network-libp2p/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down Expand Up @@ -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<_>>()
Expand Down

0 comments on commit e20d48b

Please sign in to comment.