Consistently return Response::Nil during setup
And log an info-level message as a diagnostic, in case setup takes a long time.
This commit is contained in:
parent
94eb91305b
commit
32b032204a
|
|
@ -179,7 +179,10 @@ impl Service<zn::Request> for Inbound {
|
||||||
peers.truncate(MAX_ADDR);
|
peers.truncate(MAX_ADDR);
|
||||||
async { Ok(zn::Response::Peers(peers)) }.boxed()
|
async { Ok(zn::Response::Peers(peers)) }.boxed()
|
||||||
}
|
}
|
||||||
None => async { Err("not ready to serve addresses".into()) }.boxed(),
|
None => {
|
||||||
|
info!("ignoring `Peers` request from remote peer during network setup");
|
||||||
|
async { Ok(zn::Response::Nil) }.boxed()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
zn::Request::BlocksByHash(hashes) => {
|
zn::Request::BlocksByHash(hashes) => {
|
||||||
// Correctness:
|
// Correctness:
|
||||||
|
|
@ -245,6 +248,11 @@ impl Service<zn::Request> for Inbound {
|
||||||
zn::Request::AdvertiseBlock(hash) => {
|
zn::Request::AdvertiseBlock(hash) => {
|
||||||
if let Some(downloads) = self.downloads.as_mut() {
|
if let Some(downloads) = self.downloads.as_mut() {
|
||||||
downloads.download_and_verify(hash);
|
downloads.download_and_verify(hash);
|
||||||
|
} else {
|
||||||
|
info!(
|
||||||
|
?hash,
|
||||||
|
"ignoring `AdvertiseBlock` request from remote peer during network setup"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
async { Ok(zn::Response::Nil) }.boxed()
|
async { Ok(zn::Response::Nil) }.boxed()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue