Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions p2p/src/peer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -434,8 +434,8 @@ impl Peer {
}

/// Stops the peer
pub fn stop(&self) {
debug!("Stopping peer {:?}", self.info.addr);
pub fn stop(&self, reason: &str) {
debug!("Stopping peer {:?}, reason: {}", self.info.addr, reason);
match self.stop_handle.try_lock() {
Some(handle) => handle.stop(),
None => error!("can't get stop lock for peer"),
Expand Down
12 changes: 6 additions & 6 deletions p2p/src/peers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ impl Peers {
// setting peer status will get it removed at the next clean_peer
peer.send_ban_reason(ban_reason)?;
peer.set_banned();
peer.stop();
peer.stop("banning peer");
let mut peers = self.peers.try_write_for(LOCK_TIMEOUT).ok_or_else(|| {
error!("ban_peer: failed to get peers lock");
Error::PeerException
Expand Down Expand Up @@ -233,7 +233,7 @@ impl Peers {
break;
}
};
p.stop();
p.stop("error broadcast");
peers.remove(&p.info.addr);
}
}
Expand Down Expand Up @@ -295,7 +295,7 @@ impl Peers {
};
// Mark peer as defunct after ping failure.
let _ = self.update_state(p.info.addr, State::Defunct);
p.stop();
p.stop("Error pinging");
Comment thread
ardocrat marked this conversation as resolved.
Outdated
peers.remove(&p.info.addr);
}
}
Expand Down Expand Up @@ -464,7 +464,7 @@ impl Peers {
}
};
for addr in rm {
let _ = peers.get(&addr).map(|peer| peer.stop());
let _ = peers.get(&addr).map(|peer| peer.stop("clean peers"));
peers.remove(&addr);
}
}
Expand All @@ -473,7 +473,7 @@ impl Peers {
pub fn stop(&self) {
let mut peers = self.peers.write();
for peer in peers.values() {
peer.stop();
peer.stop("stop all peers");
}
for (_, peer) in peers.drain() {
peer.wait();
Expand All @@ -489,7 +489,7 @@ impl Peers {
match peers.remove(&peer_addr) {
Some(peer) => {
warn!("disconnecting peer {} ({})", peer_addr, reason);
peer.stop();
peer.stop("disconnect_peer");
Comment thread
ardocrat marked this conversation as resolved.
Outdated
Ok(())
}
None => Ok(()),
Expand Down
12 changes: 10 additions & 2 deletions p2p/src/serv.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ use crate::core::core::{OutputIdentifier, Segment, SegmentIdentifier, TxKernel};
use crate::core::global;
use crate::core::pow::Difficulty;
use crate::handshake::Handshake;
use crate::msg::PeerAddrs;
use crate::peer::Peer;
use crate::peers::Peers;
use crate::store::PeerStore;
Expand Down Expand Up @@ -208,8 +209,15 @@ impl Server {
&self.handshake,
self.peers.clone(),
)?;
if self.peers.enough_outbound_peers() {
peer.stop();
if self.peers.enough_outbound_peers()
Comment thread
ardocrat marked this conversation as resolved.
&& !self
.config
.peers_preferred
.as_ref()
.unwrap_or(&PeerAddrs::default())
.matches_addr(&peer.info.addr)
{
peer.stop("enough outbound peers");
}
let peer = Arc::new(peer);
self.peers.add_connected(peer.clone())?;
Expand Down
2 changes: 1 addition & 1 deletion servers/src/grin/sync/body_sync.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ impl BodySync {
if let Some(peer) = peers.choose(&mut rng) {
if let Err(e) = peer.send_block_request(hash, chain::Options::SYNC) {
debug!("Skipped request to {}: {:?}", peer.info.addr, e);
peer.stop();
peer.stop("error sending block request");
} else {
self.blocks_requested += 1;
}
Expand Down
2 changes: 1 addition & 1 deletion src/bin/tools/seedcheck.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ pub fn check_seeds(is_testnet: bool, seed: Option<&str>) -> Vec<SeedCheckResult>
"SUCCESS - Performed Handshake with seed for {} at {}. {} - {:?}",
s, r, user_agent, p.info.capabilities
);
p.stop();
p.stop("resolved seed");
p.wait();
seed_result.success = true;
seed_result
Expand Down
Loading