Remove unutilized cuteness

This commit is contained in:
Greg Fitzgerald 2019-02-20 11:46:48 -07:00
parent dfcf3f94dc
commit cf163a9dab
1 changed files with 15 additions and 17 deletions

View File

@ -231,7 +231,7 @@ impl LeaderScheduler {
let active_set = let active_set =
ActiveStakers::new_with_bounds(&bank, self.active_window_tick_length, tick_height) ActiveStakers::new_with_bounds(&bank, self.active_window_tick_length, tick_height)
.pubkeys(); .pubkeys();
let ranked_active_set = Self::rank_active_set(bank, active_set.iter()); let ranked_active_set = Self::rank_active_set(bank, active_set);
if ranked_active_set.is_empty() { if ranked_active_set.is_empty() {
info!( info!(
@ -242,7 +242,7 @@ impl LeaderScheduler {
let (mut validator_rankings, total_stake) = ranked_active_set.iter().fold( let (mut validator_rankings, total_stake) = ranked_active_set.iter().fold(
(Vec::with_capacity(ranked_active_set.len()), 0), (Vec::with_capacity(ranked_active_set.len()), 0),
|(mut ids, total_stake), (pubkey, stake)| { |(mut ids, total_stake), (pubkey, stake)| {
ids.push(**pubkey); ids.push(*pubkey);
(ids, total_stake + stake) (ids, total_stake + stake)
}, },
); );
@ -288,13 +288,11 @@ impl LeaderScheduler {
); );
} }
fn rank_active_set<'a, I>(bank: &Bank, active: I) -> Vec<(&'a Pubkey, u64)> fn rank_active_set(bank: &Bank, active: Vec<Pubkey>) -> Vec<(Pubkey, u64)> {
where let mut active_accounts: Vec<_> = active
I: Iterator<Item = &'a Pubkey>, .into_iter()
{
let mut active_accounts: Vec<(&'a Pubkey, u64)> = active
.filter_map(|pubkey| { .filter_map(|pubkey| {
let stake = bank.get_balance(pubkey); let stake = bank.get_balance(&pubkey);
if stake > 0 { if stake > 0 {
Some((pubkey, stake as u64)) Some((pubkey, stake as u64))
} else { } else {
@ -609,15 +607,15 @@ pub mod tests {
.unwrap(); .unwrap();
} }
let validators_pubkey: Vec<Pubkey> = validators.iter().map(Keypair::pubkey).collect(); let validator_pubkeys: Vec<_> = validators.iter().map(Keypair::pubkey).collect();
let result = LeaderScheduler::rank_active_set(&bank, validators_pubkey.iter()); let result = LeaderScheduler::rank_active_set(&bank, validator_pubkeys);
assert_eq!(result.len(), validators.len()); assert_eq!(result.len(), validators.len());
// Expect the result to be the reverse of the list we passed into the rank_active_set() // Expect the result to be the reverse of the list we passed into the rank_active_set()
for (i, (pubkey, stake)) in result.into_iter().enumerate() { for (i, (pubkey, stake)) in result.into_iter().enumerate() {
assert_eq!(stake, i as u64 + 1); assert_eq!(stake, i as u64 + 1);
assert_eq!(*pubkey, validators[num_validators - i - 1].pubkey()); assert_eq!(pubkey, validators[num_validators - i - 1].pubkey());
} }
// Transfer all the tokens to a new set of validators, old validators should now // Transfer all the tokens to a new set of validators, old validators should now
@ -641,12 +639,12 @@ pub mod tests {
.chain(new_validators.iter()) .chain(new_validators.iter())
.map(Keypair::pubkey) .map(Keypair::pubkey)
.collect(); .collect();
let result = LeaderScheduler::rank_active_set(&bank, all_validators.iter()); let result = LeaderScheduler::rank_active_set(&bank, all_validators);
assert_eq!(result.len(), new_validators.len()); assert_eq!(result.len(), new_validators.len());
for (i, (pubkey, balance)) in result.into_iter().enumerate() { for (i, (pubkey, balance)) in result.into_iter().enumerate() {
assert_eq!(balance, i as u64 + 1); assert_eq!(balance, i as u64 + 1);
assert_eq!(*pubkey, new_validators[num_validators - i - 1].pubkey()); assert_eq!(pubkey, new_validators[num_validators - i - 1].pubkey());
} }
// Break ties between validators with the same balances using public key // Break ties between validators with the same balances using public key
@ -664,13 +662,13 @@ pub mod tests {
.unwrap(); .unwrap();
} }
let result = LeaderScheduler::rank_active_set(&bank, tied_validators_pk.iter()); let mut sorted = tied_validators_pk.clone();
let mut sorted: Vec<&Pubkey> = tied_validators_pk.iter().map(|x| x).collect();
sorted.sort_by(|pk1, pk2| pk1.cmp(pk2)); sorted.sort_by(|pk1, pk2| pk1.cmp(pk2));
assert_eq!(result.len(), tied_validators_pk.len()); let result = LeaderScheduler::rank_active_set(&bank, tied_validators_pk);
assert_eq!(result.len(), sorted.len());
for (i, (pk, s)) in result.into_iter().enumerate() { for (i, (pk, s)) in result.into_iter().enumerate() {
assert_eq!(s, 1); assert_eq!(s, 1);
assert_eq!(*pk, *sorted[i]); assert_eq!(pk, sorted[i]);
} }
} }