From f83a64d17f30edc3a6b178572507155a6632e343 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Wed, 6 Mar 2019 18:53:59 -0800 Subject: [PATCH] poll_gossip_for_leader: simplify timeout arg --- bench-tps/src/main.rs | 2 +- core/src/thin_client.rs | 16 ++++++---------- tests/replicator.rs | 3 ++- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/bench-tps/src/main.rs b/bench-tps/src/main.rs index 896e91211..4fd53fd98 100644 --- a/bench-tps/src/main.rs +++ b/bench-tps/src/main.rs @@ -40,7 +40,7 @@ fn main() { } = cfg; println!("Looking for leader at {:?}", network); - let leader = poll_gossip_for_leader(network, Some(30)).unwrap_or_else(|err| { + let leader = poll_gossip_for_leader(network, Duration::from_secs(30)).unwrap_or_else(|err| { eprintln!( "Error: unable to find leader on network after 30 seconds: {:?}", err diff --git a/core/src/thin_client.rs b/core/src/thin_client.rs index 353d9b4cc..f7877ab28 100644 --- a/core/src/thin_client.rs +++ b/core/src/thin_client.rs @@ -390,15 +390,11 @@ impl Drop for ThinClient { } } -pub fn poll_gossip_for_leader(gossip_addr: SocketAddr, timeout: Option) -> Result { +pub fn poll_gossip_for_leader(gossip_addr: SocketAddr, timeout: Duration) -> Result { let exit = Arc::new(AtomicBool::new(false)); let entry_point = NodeInfo::new_entry_point(&gossip_addr); let (gossip_service, cluster_info) = make_spy_node(&entry_point, &exit); - let deadline = match timeout { - Some(timeout) => Duration::new(timeout, 0), - None => Duration::new(std::u64::MAX, 0), - }; let now = Instant::now(); let result = loop { sleep(Duration::from_millis(100)); @@ -415,7 +411,7 @@ pub fn poll_gossip_for_leader(gossip_addr: SocketAddr, timeout: Option) -> trace!("{}", cluster_info.read().unwrap().node_info_trace()); } - if now.elapsed() > deadline { + if now.elapsed() > timeout { break Err(Error::ClusterInfoError(ClusterInfoError::NoLeader)); } }; @@ -497,7 +493,7 @@ mod tests { info!( "found leader: {:?}", - poll_gossip_for_leader(leader_data.gossip, Some(5)).unwrap() + poll_gossip_for_leader(leader_data.gossip, Duration::from_secs(5)).unwrap() ); let mut client = mk_client(&leader_data); @@ -531,7 +527,7 @@ mod tests { let bob_pubkey = Keypair::new().pubkey(); info!( "found leader: {:?}", - poll_gossip_for_leader(leader_data.gossip, Some(5)).unwrap() + poll_gossip_for_leader(leader_data.gossip, Duration::from_secs(5)).unwrap() ); let mut client = mk_client(&leader_data); @@ -565,7 +561,7 @@ mod tests { let (server, leader_data, alice, ledger_path) = new_fullnode(); info!( "found leader: {:?}", - poll_gossip_for_leader(leader_data.gossip, Some(5)).unwrap() + poll_gossip_for_leader(leader_data.gossip, Duration::from_secs(5)).unwrap() ); let mut client = mk_client(&leader_data); @@ -635,7 +631,7 @@ mod tests { info!( "found leader: {:?}", - poll_gossip_for_leader(leader_data.gossip, Some(5)).unwrap() + poll_gossip_for_leader(leader_data.gossip, Duration::from_secs(5)).unwrap() ); let mut client = mk_client(&leader_data); diff --git a/tests/replicator.rs b/tests/replicator.rs index 580b99786..6f90009f7 100644 --- a/tests/replicator.rs +++ b/tests/replicator.rs @@ -63,7 +63,8 @@ fn test_replicator_startup_basic() { debug!( "leader: {:?}", - solana::thin_client::poll_gossip_for_leader(leader_info.gossip, Some(5)).unwrap() + solana::thin_client::poll_gossip_for_leader(leader_info.gossip, Duration::from_secs(5)) + .unwrap() ); let validator_keypair = Arc::new(Keypair::new());