mirror of
https://github.com/mimblewimble/grin.git
synced 2025-02-08 12:21:09 +03:00
Make peer connect attempts asynchronous (#879)
This commit is contained in:
parent
4fcf5fdbca
commit
e8e013195f
1 changed files with 18 additions and 12 deletions
|
@ -206,19 +206,25 @@ fn listen_for_addrs(
|
||||||
let pc = peers.peer_count();
|
let pc = peers.peer_count();
|
||||||
for addr in rx.try_iter() {
|
for addr in rx.try_iter() {
|
||||||
if pc < PEER_MAX_COUNT {
|
if pc < PEER_MAX_COUNT {
|
||||||
let connect_peer = p2p.connect(&addr);
|
let peers_c = peers.clone();
|
||||||
match connect_peer {
|
let p2p_c = p2p.clone();
|
||||||
Ok(p) => {
|
let _ = thread::Builder::new()
|
||||||
trace!(LOGGER, "connect_and_req: ok. attempting send_peer_request");
|
.name("peer_connect".to_string())
|
||||||
if let Ok(p) = p.try_read() {
|
.spawn(move || {
|
||||||
let _ = p.send_peer_request(capab);
|
let connect_peer = p2p_c.connect(&addr);
|
||||||
|
match connect_peer {
|
||||||
|
Ok(p) => {
|
||||||
|
trace!(LOGGER, "connect_and_req: ok. attempting send_peer_request");
|
||||||
|
if let Ok(p) = p.try_read() {
|
||||||
|
let _ = p.send_peer_request(capab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Err(e) => {
|
||||||
|
debug!(LOGGER, "connect_and_req: {} is Defunct; {:?}", addr, e);
|
||||||
|
let _ = peers_c.update_state(addr, p2p::State::Defunct);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
Err(e) => {
|
|
||||||
debug!(LOGGER, "connect_and_req: {} is Defunct; {:?}", addr, e);
|
|
||||||
let _ = peers.update_state(addr, p2p::State::Defunct);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue