mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-10 12:11:59 +00:00
Upgrade to tokio 0.3 (#1839)
## Description This PR updates Lighthouse to tokio 0.3. It includes a number of dependency updates and some structural changes as to how we create and spawn tasks. This also brings with it a number of various improvements: - Discv5 update - Libp2p update - Fix for recompilation issues - Improved UPnP port mapping handling - Futures dependency update - Log downgrade to traces for rejecting peers when we've reached our max Co-authored-by: blacktemplar <blacktemplar@a1.net>
This commit is contained in:
@@ -27,9 +27,9 @@ error-chain = "0.12.4"
|
||||
serde_yaml = "0.8.13"
|
||||
slog = { version = "2.5.2", features = ["max_level_trace"] }
|
||||
slog-async = "2.5.0"
|
||||
tokio = "0.2.22"
|
||||
tokio = "0.3.2"
|
||||
dirs = "3.0.1"
|
||||
futures = "0.3.5"
|
||||
futures = "0.3.7"
|
||||
reqwest = { version = "0.10.8", features = ["native-tls-vendored"] }
|
||||
url = "2.1.1"
|
||||
eth1 = { path = "../eth1" }
|
||||
|
||||
@@ -254,10 +254,16 @@ where
|
||||
let (listen_addr, server) = http_api::serve(ctx, exit_future)
|
||||
.map_err(|e| format!("Unable to start HTTP API server: {:?}", e))?;
|
||||
|
||||
let log_clone = context.log().clone();
|
||||
let http_api_task = async move {
|
||||
server.await;
|
||||
debug!(log_clone, "HTTP API server task ended");
|
||||
};
|
||||
|
||||
context
|
||||
.clone()
|
||||
.executor
|
||||
.spawn_without_exit(async move { server.await }, "http-api");
|
||||
.spawn_without_exit(http_api_task, "http-api");
|
||||
|
||||
Some(listen_addr)
|
||||
} else {
|
||||
@@ -283,7 +289,7 @@ where
|
||||
"Waiting for HTTP server port to open";
|
||||
"port" => http_listen
|
||||
);
|
||||
tokio::time::delay_for(Duration::from_secs(1)).await;
|
||||
tokio::time::sleep(Duration::from_secs(1)).await;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -442,10 +448,16 @@ where
|
||||
let (listen_addr, server) = http_api::serve(ctx, exit)
|
||||
.map_err(|e| format!("Unable to start HTTP API server: {:?}", e))?;
|
||||
|
||||
let http_log = runtime_context.log().clone();
|
||||
let http_api_task = async move {
|
||||
server.await;
|
||||
debug!(http_log, "HTTP API server task ended");
|
||||
};
|
||||
|
||||
runtime_context
|
||||
.clone()
|
||||
.executor
|
||||
.spawn_without_exit(async move { server.await }, "http-api");
|
||||
.spawn_without_exit(http_api_task, "http-api");
|
||||
|
||||
Some(listen_addr)
|
||||
} else {
|
||||
|
||||
@@ -7,7 +7,7 @@ use slog::{debug, error, info, warn};
|
||||
use slot_clock::SlotClock;
|
||||
use std::sync::Arc;
|
||||
use std::time::{Duration, Instant};
|
||||
use tokio::time::delay_for;
|
||||
use tokio::time::sleep;
|
||||
use types::{EthSpec, Slot};
|
||||
|
||||
/// Create a warning log whenever the peer count is at or below this value.
|
||||
@@ -56,7 +56,7 @@ pub fn spawn_notifier<T: BeaconChainTypes>(
|
||||
"peers" => peer_count_pretty(network.connected_peers()),
|
||||
"wait_time" => estimated_time_pretty(Some(next_slot.as_secs() as f64)),
|
||||
);
|
||||
delay_for(slot_duration).await;
|
||||
sleep(slot_duration).await;
|
||||
}
|
||||
_ => break,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user