V2.5.6 stable (#10961)

-  Fix cargo audit (#10921)
  - Add support for Energy Web Foundation's new chains (#10957)
  - Kaspersky AV whitelisting (#10919)
  - Avast whitelist script (#10900)
  - Docker images renaming (#10863)
  - Remove excessive warning (#10831)
  - Allow --nat extip:your.host.here.org (#10830)
  - When updating the client or when called from RPC, sleep should mean sleep (#10814)
  - added new ropsten-bootnode and removed old one (#10794)
  - ethkey no longer uses byteorder (#10786)
  - Do not drop the peer with None difficulty (#10772)
  - docs: Update Readme with TOC, Contributor Guideline. Update Cargo package descriptions (#10652)
This commit is contained in:
s3krit
2019-08-12 18:55:11 +02:00
committed by GitHub
parent 3ebc769757
commit ff398fe7ff
58 changed files with 1121 additions and 440 deletions

View File

@@ -1109,7 +1109,7 @@ impl Client {
let mut ss = self.sleep_state.lock();
if let Some(t) = ss.last_activity {
if Instant::now() > t + timeout {
self.sleep();
self.sleep(false);
ss.last_activity = None;
}
}
@@ -1119,7 +1119,7 @@ impl Client {
let now = Instant::now();
if let Some(t) = ss.last_activity {
if now > t + timeout {
self.sleep();
self.sleep(false);
ss.last_activity = None;
ss.last_autosleep = Some(now);
}
@@ -1218,10 +1218,10 @@ impl Client {
}
}
fn sleep(&self) {
fn sleep(&self, force: bool) {
if self.liveness.load(AtomicOrdering::Relaxed) {
// only sleep if the import queue is mostly empty.
if self.queue_info().total_queue_size() <= MAX_QUEUE_SIZE_TO_SLEEP_ON {
if force || (self.queue_info().total_queue_size() <= MAX_QUEUE_SIZE_TO_SLEEP_ON) {
self.liveness.store(false, AtomicOrdering::Relaxed);
self.notify(|n| n.stop());
info!(target: "mode", "sleep: Sleeping.");
@@ -1730,7 +1730,7 @@ impl BlockChainClient for Client {
}
match new_mode {
Mode::Active => self.wake_up(),
Mode::Off => self.sleep(),
Mode::Off => self.sleep(true),
_ => {(*self.sleep_state.lock()).last_activity = Some(Instant::now()); }
}
}