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:
Age Manning
2020-11-28 05:30:57 +00:00
parent 5a3b94cbb4
commit a567f788bd
81 changed files with 3666 additions and 2762 deletions

View File

@@ -7,11 +7,11 @@ edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
futures = "0.3.5"
futures = "0.3.7"
serde = "1.0.116"
serde_derive = "1.0.116"
slog = "2.5.2"
tokio = { version = "0.2.22", features = ["full"] }
tokio = { version = "0.3.2", features = ["full"] }
types = { path = "../../consensus/types" }
ws = "0.9.1"
task_executor = { path = "../../common/task_executor" }

View File

@@ -79,11 +79,11 @@ pub fn start_server<T: EthSpec>(
// Place a future on the handle that will shutdown the websocket server when the
// application exits.
executor.runtime_handle().spawn(exit_future);
executor.spawn(exit_future, "Websocket exit");
let log_inner = log.clone();
let _ = std::thread::spawn(move || match server.run() {
let server_future = move || match server.run() {
Ok(_) => {
debug!(
log_inner,
@@ -97,7 +97,9 @@ pub fn start_server<T: EthSpec>(
"error" => format!("{:?}", e)
);
}
});
};
executor.spawn_blocking(server_future, "Websocket server");
info!(
log,