} else {
assert!(state_lock.fail_reason != AddressState::Good);
if state_lock.fail_reason == AddressState::TimeoutDuringRequest && state_lock.recvd_version && state_lock.recvd_verack {
- if !state_lock.recvd_addrs {
+ if !state_lock.recvd_pong {
+ state_lock.fail_reason = AddressState::TimeoutAwaitingPong;
+ } else if !state_lock.recvd_addrs {
state_lock.fail_reason = AddressState::TimeoutAwaitingAddr;
} else if !state_lock.recvd_block {
state_lock.fail_reason = AddressState::TimeoutAwaitingBlock;