From 7c3f00067c113ba274582d1eb107e8150d0f2e61 Mon Sep 17 00:00:00 2001 From: austinabell Date: Tue, 12 Jan 2021 19:19:27 -0500 Subject: [PATCH] Update other things --- Cargo.lock | 141 ++++++++++++------ blockchain/chain_sync/src/sync.rs | 3 +- blockchain/chain_sync/src/sync/peer_test.rs | 11 +- .../src/sync_worker/full_sync_test.rs | 1 - node/forest_libp2p/src/hello/message.rs | 4 +- node/forest_libp2p/src/service.rs | 31 ++-- .../tests/block_header_ser.rs | 2 +- .../tests/u_message_ser.rs | 2 +- 8 files changed, 126 insertions(+), 69 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4c5341a881ae..31e59e2e9399 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -198,9 +198,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee67c11feeac938fae061b232e38e0b6d94f97a9df10e6271319325ac4c56a86" +checksum = "afddf7f520a80dbf76e6f50a35bca42a2331ef227a28b3b6dc5c2e2338d114b1" [[package]] name = "approx" @@ -392,7 +392,7 @@ dependencies = [ "memchr", "num_cpus", "once_cell", - "pin-project-lite 0.2.1", + "pin-project-lite 0.2.4", "pin-utils", "slab", "wasm-bindgen-futures", @@ -436,7 +436,7 @@ dependencies = [ "futures-io", "futures-util", "log", - "pin-project 1.0.3", + "pin-project 1.0.4", "tungstenite", ] @@ -845,9 +845,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" [[package]] name = "bytes" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f8e949d755f9d79112b5bb46938e0ef9d3804a0b16dfab13aafcaa5f0fa72" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" [[package]] name = "c_linked_list" @@ -1193,7 +1193,7 @@ dependencies = [ "percent-encoding", "rand 0.7.3", "sha2 0.9.2", - "time 0.2.23", + "time 0.2.24", "version_check", ] @@ -1475,9 +1475,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "373c88d9506e2e9230f6107701b7d8425f4cb3f6df108ec3042a26e936666da5" +checksum = "10bcb9d7dcbf7002aaffbb53eac22906b64cdcc127971dcc387d8eb7c95d5560" dependencies = [ "quote 1.0.8", "syn 1.0.58", @@ -2316,7 +2316,7 @@ dependencies = [ "num-derive", "num-traits 0.2.14", "rand 0.7.3", - "rand_chacha", + "rand_chacha 0.2.2", "serde", "thiserror", ] @@ -2578,7 +2578,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.1", + "pin-project-lite 0.2.4", "waker-fn", ] @@ -2629,7 +2629,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.1", + "pin-project-lite 0.2.4", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -2947,7 +2947,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747" dependencies = [ - "bytes 1.0.0", + "bytes 1.0.1", "fnv", "itoa", ] @@ -3047,7 +3047,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project 1.0.3", + "pin-project 1.0.4", "socket2", "tokio", "tower-service", @@ -3109,9 +3109,9 @@ dependencies = [ [[package]] name = "integer-encoding" -version = "2.1.1" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ddae3dfefb8ba2cb7c2bab20594847cea19f0cd0f28d57a4e79a12ddcfa9940" +checksum = "60e2f78a2df4034cf41ad41719af9acb0168133228189f4ee9aa54e4666aab01" dependencies = [ "async-trait", "futures-util", @@ -3870,9 +3870,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b" +checksum = "fcf3805d4480bb5b86070dcfeb9e2cb2ebc148adb753c5cca5f884d1d65a42b2" dependencies = [ "cfg-if 0.1.10", ] @@ -4149,7 +4149,7 @@ dependencies = [ "bytes 0.5.6", "futures 0.3.9", "log", - "pin-project 1.0.3", + "pin-project 1.0.4", "smallvec", "unsigned-varint 0.5.1", ] @@ -4598,7 +4598,7 @@ dependencies = [ "cfg-if 0.1.10", "cloudabi", "libc", - "redox_syscall", + "redox_syscall 0.1.57", "smallvec", "winapi 0.3.9", ] @@ -4612,18 +4612,18 @@ dependencies = [ "cfg-if 1.0.0", "instant", "libc", - "redox_syscall", + "redox_syscall 0.1.57", "smallvec", "winapi 0.3.9", ] [[package]] name = "pbr" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74333e3d1d8bced07fd0b8599304825684bcdb4a1fcc6fa6a470e6e08cefd254" +checksum = "ff5751d87f7c00ae6403eb1fcbba229b9c76c9a30de8c1cf87182177b168cea2" dependencies = [ - "crossbeam-channel 0.4.4", + "crossbeam-channel 0.5.0", "libc", "time 0.1.43", "winapi 0.3.9", @@ -4682,11 +4682,11 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a83804639aad6ba65345661744708855f9fbcb71176ea8d28d05aeb11d975e7" +checksum = "95b70b68509f17aa2857863b6fa00bf21fc93674c7a8893de2f469f6aa7ca2f2" dependencies = [ - "pin-project-internal 1.0.3", + "pin-project-internal 1.0.4", ] [[package]] @@ -4702,9 +4702,9 @@ dependencies = [ [[package]] name = "pin-project-internal" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7bcc46b8f73443d15bc1c5fecbb315718491fa9187fa483f0e359323cde8b3a" +checksum = "caa25a6393f22ce819b0f50e0be89287292fda8d425be38ee0ca14c4931d9e71" dependencies = [ "proc-macro2 1.0.24", "quote 1.0.8", @@ -4719,9 +4719,9 @@ checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b" [[package]] name = "pin-project-lite" -version = "0.2.1" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e36743d754ccdf9954c2e352ce2d4b106e024c814f6499c2dadff80da9a442d8" +checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827" [[package]] name = "pin-utils" @@ -4996,9 +4996,21 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ "getrandom 0.1.16", "libc", - "rand_chacha", + "rand_chacha 0.2.2", "rand_core 0.5.1", - "rand_hc", + "rand_hc 0.2.0", +] + +[[package]] +name = "rand" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c24fcd450d3fa2b592732565aa4f17a27a61c65ece4726353e000939b0edee34" +dependencies = [ + "libc", + "rand_chacha 0.3.0", + "rand_core 0.6.1", + "rand_hc 0.3.0", ] [[package]] @@ -5011,6 +5023,16 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.1", +] + [[package]] name = "rand_core" version = "0.3.1" @@ -5035,6 +5057,15 @@ dependencies = [ "getrandom 0.1.16", ] +[[package]] +name = "rand_core" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" +dependencies = [ + "getrandom 0.2.1", +] + [[package]] name = "rand_distr" version = "0.2.2" @@ -5063,6 +5094,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_hc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +dependencies = [ + "rand_core 0.6.1", +] + [[package]] name = "rand_xorshift" version = "0.2.0" @@ -5129,6 +5169,15 @@ version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" +[[package]] +name = "redox_syscall" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05ec8ca9416c5ea37062b502703cd7fcb207736bc294f6e0cf367ac6fc234570" +dependencies = [ + "bitflags 1.2.1", +] + [[package]] name = "redox_users" version = "0.3.5" @@ -5136,7 +5185,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" dependencies = [ "getrandom 0.1.16", - "redox_syscall", + "redox_syscall 0.1.57", "rust-argon2", ] @@ -5993,7 +6042,7 @@ dependencies = [ "neptune", "num_cpus", "rand 0.7.3", - "rand_chacha", + "rand_chacha 0.2.2", "rayon", "semver 0.11.0", "serde", @@ -6207,14 +6256,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ - "cfg-if 0.1.10", + "cfg-if 1.0.0", "libc", - "rand 0.7.3", - "redox_syscall", + "rand 0.8.1", + "redox_syscall 0.2.4", "remove_dir_all", "winapi 0.3.9", ] @@ -6305,9 +6354,9 @@ dependencies = [ [[package]] name = "time" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcdaeea317915d59b2b4cd3b5efcd156c309108664277793f5351700c02ce98b" +checksum = "273d3ed44dca264b0d6b3665e8d48fb515042d42466fad93d2a45b90ec4058f7" dependencies = [ "const_fn", "libc", @@ -6472,7 +6521,7 @@ checksum = "9f47026cdc4080c07e49b37087de021820269d996f581aac150ef9e5583eefe3" dependencies = [ "cfg-if 1.0.0", "log", - "pin-project-lite 0.2.1", + "pin-project-lite 0.2.4", "tracing-attributes", "tracing-core", ] @@ -6670,11 +6719,11 @@ dependencies = [ [[package]] name = "uuid" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fde2f6a4bea1d6e007c4ad38c6839fa71cbb63b6dbf5b595aa38dc9b1093c11" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "rand 0.7.3", + "getrandom 0.2.1", ] [[package]] diff --git a/blockchain/chain_sync/src/sync.rs b/blockchain/chain_sync/src/sync.rs index a7e99611d3a6..edbc4d11920c 100644 --- a/blockchain/chain_sync/src/sync.rs +++ b/blockchain/chain_sync/src/sync.rs @@ -176,8 +176,7 @@ where new_ts_tx: &Sender<(PeerId, FullTipset)>, ) { match network_event { - NetworkEvent::HelloRequest { request, channel } => { - let source = channel.peer.clone(); + NetworkEvent::HelloRequest { request, source } => { self.network .peer_manager() .update_peer_head(source.clone(), None) diff --git a/blockchain/chain_sync/src/sync/peer_test.rs b/blockchain/chain_sync/src/sync/peer_test.rs index 67c62531e6a3..f9d0c8dc1906 100644 --- a/blockchain/chain_sync/src/sync/peer_test.rs +++ b/blockchain/chain_sync/src/sync/peer_test.rs @@ -9,7 +9,7 @@ use beacon::{BeaconPoint, MockBeacon}; use blocks::BlockHeader; use db::MemoryDB; use fil_types::verifier::MockVerifier; -use forest_libp2p::{hello::HelloRequest, rpc::ResponseChannel}; +use forest_libp2p::hello::HelloRequest; use libp2p::core::PeerId; use message_pool::{test_provider::TestApi, MessagePool}; use state_manager::StateManager; @@ -70,7 +70,6 @@ fn peer_manager_update() { let source = PeerId::random(); let source_clone = source.clone(); - let (sender, _) = bounded(1); let gen_cloned = genesis_ts.clone(); task::block_on(async { @@ -82,12 +81,10 @@ fn peer_manager_update() { heaviest_tipset_weight: gen_cloned.weight().clone(), genesis_hash: gen_hash, }, - channel: ResponseChannel { - peer: source, - sender, - }, + source, }) - .await; + .await + .unwrap(); // Would be ideal to not have to sleep here and have it deterministic task::sleep(Duration::from_millis(1000)).await; diff --git a/blockchain/chain_sync/src/sync_worker/full_sync_test.rs b/blockchain/chain_sync/src/sync_worker/full_sync_test.rs index 877f7f4dde54..78ff112e447d 100644 --- a/blockchain/chain_sync/src/sync_worker/full_sync_test.rs +++ b/blockchain/chain_sync/src/sync_worker/full_sync_test.rs @@ -3,7 +3,6 @@ use super::*; use crate::peer_manager::PeerManager; -use actor::EPOCH_DURATION_SECONDS; use async_std::channel::bounded; use async_std::task; use db::MemoryDB; diff --git a/node/forest_libp2p/src/hello/message.rs b/node/forest_libp2p/src/hello/message.rs index a837a9209b6e..a0848acaca4f 100644 --- a/node/forest_libp2p/src/hello/message.rs +++ b/node/forest_libp2p/src/hello/message.rs @@ -20,9 +20,9 @@ pub struct HelloRequest { #[derive(Clone, Debug, PartialEq, Serialize_tuple, Deserialize_tuple)] pub struct HelloResponse { /// Time of arrival in unix nanoseconds - pub arrival: i64, + pub arrival: u128, /// Time sent in unix nanoseconds - pub sent: i64, + pub sent: u128, } #[cfg(test)] diff --git a/node/forest_libp2p/src/service.rs b/node/forest_libp2p/src/service.rs index 1dc7c01bf1a2..0a115ecc8cb0 100644 --- a/node/forest_libp2p/src/service.rs +++ b/node/forest_libp2p/src/service.rs @@ -33,6 +33,7 @@ use std::collections::HashMap; use std::io::{Error, ErrorKind}; use std::sync::Arc; use std::time::Duration; +use std::time::{SystemTime, UNIX_EPOCH}; use utils::read_file_to_vec; pub const PUBSUB_BLOCK_STR: &str = "/fil/blocks"; @@ -54,7 +55,7 @@ pub enum NetworkEvent { }, HelloRequest { request: HelloRequest, - channel: ResponseChannel, + source: PeerId, }, HelloResponse { request_id: RequestId, @@ -235,11 +236,25 @@ where warn!("Getting gossip messages from unknown topic: {}", topic); } } - ForestBehaviourEvent::HelloRequest { request, channel, .. } => { + ForestBehaviourEvent::HelloRequest { request, channel, peer } => { + let arrival = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("System time before unix epoch") + .as_nanos(); + debug!("Received hello request: {:?}", request); + let sent = SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("System time before unix epoch") + .as_nanos(); + channel.send(HelloResponse { + arrival, + sent, + }).await; + emit_event(&self.network_sender_out, NetworkEvent::HelloRequest { request, - channel, + source: peer, }).await; } ForestBehaviourEvent::HelloResponse { request_id, response, .. } => { @@ -252,12 +267,10 @@ where ForestBehaviourEvent::ChainExchangeRequest { channel, peer, request } => { debug!("Received chain_exchange request (peerId: {:?})", peer); let db = self.cs.clone(); - async { - let response = task::spawn(async move { - make_chain_exchange_response(db.as_ref(), &request).await - }).await; - let _ = channel.send(response).await; - }.await; + task::spawn(async move { + let response = make_chain_exchange_response(db.as_ref(), &request).await; + channel.send(response).await; + }); } ForestBehaviourEvent::ChainExchangeResponse { request_id, response, .. } => { debug!("Received chain_exchange response (id: {:?})", request_id); diff --git a/tests/serialization_tests/tests/block_header_ser.rs b/tests/serialization_tests/tests/block_header_ser.rs index 78fa81db15e7..50f6883b528e 100644 --- a/tests/serialization_tests/tests/block_header_ser.rs +++ b/tests/serialization_tests/tests/block_header_ser.rs @@ -4,7 +4,7 @@ #![cfg(feature = "submodule_tests")] use cid::Cid; -use encoding::{from_slice, to_vec}; +use encoding::to_vec; use forest_blocks::{header, BlockHeader}; use hex::encode; use serde::Deserialize; diff --git a/tests/serialization_tests/tests/u_message_ser.rs b/tests/serialization_tests/tests/u_message_ser.rs index 251f08dbcf74..44ce777b7cd7 100644 --- a/tests/serialization_tests/tests/u_message_ser.rs +++ b/tests/serialization_tests/tests/u_message_ser.rs @@ -4,7 +4,7 @@ // Doesn't run these unless feature specified #![cfg(feature = "submodule_tests")] -use encoding::{from_slice, to_vec}; +use encoding::to_vec; use forest_message::{unsigned_message, UnsignedMessage}; use hex::encode; use serde::Deserialize;