From 2970e15bdf1779362f3d979063eefdd4a51e1733 Mon Sep 17 00:00:00 2001 From: Martin Stefcek Date: Wed, 16 Mar 2022 18:06:10 +0700 Subject: [PATCH] fix clippy --- Cargo.lock | 1 + applications/tari_validator_node/Cargo.toml | 1 + applications/tari_validator_node/src/asset.rs | 11 +++++++---- applications/tari_validator_node/src/dan_node.rs | 12 ++++++------ applications/tari_validator_node/src/monitoring.rs | 8 ++++---- dan_layer/core/src/workers/consensus_worker.rs | 9 ++++++--- 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d6b10cbcc7b..de91ed56a3c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7318,6 +7318,7 @@ dependencies = [ "clap 2.34.0", "digest 0.9.0", "futures 0.3.21", + "itertools 0.10.3", "lmdb-zero", "log", "patricia_tree", diff --git a/applications/tari_validator_node/Cargo.toml b/applications/tari_validator_node/Cargo.toml index 90d3ccb8809..2370c425546 100644 --- a/applications/tari_validator_node/Cargo.toml +++ b/applications/tari_validator_node/Cargo.toml @@ -32,6 +32,7 @@ blake2 = "0.9.2" clap = "2.33.3" digest = "0.9.0" futures = { version = "^0.3.1" } +itertools = "0.10.3" log = { version = "0.4.8", features = ["std"] } lmdb-zero = "0.4.4" prost = "0.9" diff --git a/applications/tari_validator_node/src/asset.rs b/applications/tari_validator_node/src/asset.rs index 3fdbdf062c2..2f1618014e6 100644 --- a/applications/tari_validator_node/src/asset.rs +++ b/applications/tari_validator_node/src/asset.rs @@ -22,7 +22,10 @@ use std::{ collections::HashMap, - sync::{Arc, Mutex}, + sync::{ + atomic::{AtomicBool, Ordering}, + Arc, + }, }; use tari_dan_core::models::AssetDefinition; @@ -34,7 +37,7 @@ pub struct Asset { // Changes in the committee for this asset. // Mined height of the change TXs, and the involvment in the committe (true = part of committee) next_states: HashMap, - kill_signal: Option>>, + kill_signal: Option>, } impl Asset { @@ -48,7 +51,7 @@ impl Asset { } pub fn update_height(&mut self, height: u64, start: Fstart) - where Fstart: Fn(AssetDefinition) -> Arc> { + where Fstart: Fn(AssetDefinition) -> Arc { if let Some((&height, &involment)) = self .next_states .iter() @@ -61,7 +64,7 @@ impl Asset { } else { // Switch on the kill signal for the asset to end processing let stop = self.kill_signal.clone().unwrap(); - *stop.as_ref().lock().unwrap() = true; + stop.as_ref().store(true, Ordering::Relaxed); self.kill_signal = None; } } diff --git a/applications/tari_validator_node/src/dan_node.rs b/applications/tari_validator_node/src/dan_node.rs index 34f7bed2055..e29b5bd1273 100644 --- a/applications/tari_validator_node/src/dan_node.rs +++ b/applications/tari_validator_node/src/dan_node.rs @@ -21,10 +21,11 @@ // USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. use std::{ - sync::{Arc, Mutex}, + sync::{atomic::AtomicBool, Arc}, time::Duration, }; +use itertools::Itertools; use log::*; use tari_common::{ configuration::ValidatorNodeConfig, @@ -128,12 +129,11 @@ impl DanNode { monitoring.add_if_unmonitored(asset.clone()); monitoring.add_state(asset.public_key, mined_height, true); } - let known_active_public_keys: Vec = - assets.into_iter().map(|(asset, _)| asset.public_key).collect(); + let mut known_active_public_keys = assets.into_iter().map(|(asset, _)| asset.public_key); let active_public_keys = monitoring .get_active_public_keys() .into_iter() - .map(|public_key| public_key.clone()) + .cloned() .collect::>(); for public_key in active_public_keys { if !known_active_public_keys.contains(&public_key) { @@ -159,7 +159,7 @@ impl DanNode { let subscription_factory = subscription_factory.clone(); let shutdown = shutdown.clone(); // Create a kill signal for each asset - let kill = Arc::new(Mutex::new(false)); + let kill = Arc::new(AtomicBool::new(false)); let dan_config = dan_config.clone(); let db_factory = db_factory.clone(); task::spawn(DanNode::start_asset_worker( @@ -189,7 +189,7 @@ impl DanNode { shutdown: ShutdownSignal, config: ValidatorNodeConfig, db_factory: SqliteDbFactory, - kill: Arc>, + kill: Arc, ) -> Result<(), ExitError> { let timeout = Duration::from_secs(asset_definition.phase_timeout); let committee = asset_definition diff --git a/applications/tari_validator_node/src/monitoring.rs b/applications/tari_validator_node/src/monitoring.rs index 75c24dad012..12e05a07261 100644 --- a/applications/tari_validator_node/src/monitoring.rs +++ b/applications/tari_validator_node/src/monitoring.rs @@ -22,7 +22,7 @@ use std::{ collections::HashMap, - sync::{Arc, Mutex}, + sync::{atomic::AtomicBool, Arc}, }; use tari_common_types::types::PublicKey; @@ -46,7 +46,7 @@ impl Monitoring { pub fn add_if_unmonitored(&mut self, asset: AssetDefinition) { if !self.assets.contains_key(&asset.public_key) { - self.assets.insert(asset.public_key.clone(), Asset::new(asset.clone())); + self.assets.insert(asset.public_key.clone(), Asset::new(asset)); } } @@ -59,8 +59,8 @@ impl Monitoring { } pub fn update_height(&mut self, height: u64, start: Fstart) - where Fstart: Fn(AssetDefinition) -> Arc> { - for (_, proc) in &mut self.assets { + where Fstart: Fn(AssetDefinition) -> Arc { + for proc in self.assets.values_mut() { proc.update_height(height, start.clone()); } self.assets.retain(|_, proc| proc.should_monitor()) diff --git a/dan_layer/core/src/workers/consensus_worker.rs b/dan_layer/core/src/workers/consensus_worker.rs index 2a3a5b38e4c..03e2f529721 100644 --- a/dan_layer/core/src/workers/consensus_worker.rs +++ b/dan_layer/core/src/workers/consensus_worker.rs @@ -20,7 +20,10 @@ // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE // USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -use std::sync::{Arc, Mutex}; +use std::sync::{ + atomic::{AtomicBool, Ordering}, + Arc, +}; use log::*; use tari_common_types::types::PublicKey; @@ -117,7 +120,7 @@ impl> ConsensusWorker, - stop: Arc>, + stop: Arc, ) -> Result<(), DigitalAssetError> { let chain_db = self .db_factory @@ -131,7 +134,7 @@ impl> ConsensusWorker