Remove unused exit variable

The exit variable was only used by a test.
This commit is contained in:
Greg Fitzgerald
2019-01-08 21:11:04 -07:00
committed by Grimes
parent 56fa3a09c8
commit f53810fcd2
2 changed files with 15 additions and 20 deletions

View File

@ -311,7 +311,7 @@ impl BroadcastService {
/// WriteStage is the last stage in the pipeline), which will then close Broadcast service, /// WriteStage is the last stage in the pipeline), which will then close Broadcast service,
/// which will then close FetchStage in the Tpu, and then the rest of the Tpu, /// which will then close FetchStage in the Tpu, and then the rest of the Tpu,
/// completing the cycle. /// completing the cycle.
#[allow(clippy::too_many_arguments, clippy::new_ret_no_self)] #[allow(clippy::too_many_arguments)]
pub fn new( pub fn new(
db_ledger: Arc<DbLedger>, db_ledger: Arc<DbLedger>,
bank: Arc<Bank>, bank: Arc<Bank>,
@ -323,9 +323,8 @@ impl BroadcastService {
receiver: Receiver<Vec<Entry>>, receiver: Receiver<Vec<Entry>>,
max_tick_height: Option<u64>, max_tick_height: Option<u64>,
exit_sender: Arc<AtomicBool>, exit_sender: Arc<AtomicBool>,
) -> (Self, Arc<AtomicBool>) { ) -> Self {
let exit_signal = Arc::new(AtomicBool::new(false)); let exit_signal = Arc::new(AtomicBool::new(false));
let exit_signal_ = exit_signal.clone();
let thread_hdl = Builder::new() let thread_hdl = Builder::new()
.name("solana-broadcaster".to_string()) .name("solana-broadcaster".to_string())
.spawn(move || { .spawn(move || {
@ -340,12 +339,12 @@ impl BroadcastService {
&leader_scheduler, &leader_scheduler,
&receiver, &receiver,
max_tick_height, max_tick_height,
&exit_signal_, &exit_signal,
) )
}) })
.unwrap(); .unwrap();
(Self { thread_hdl }, exit_signal) Self { thread_hdl }
} }
} }
@ -370,25 +369,23 @@ mod test {
use solana_sdk::signature::{Keypair, KeypairUtil}; use solana_sdk::signature::{Keypair, KeypairUtil};
use std::sync::atomic::AtomicBool; use std::sync::atomic::AtomicBool;
use std::sync::mpsc::channel; use std::sync::mpsc::channel;
use std::sync::mpsc::Sender;
use std::sync::{Arc, RwLock}; use std::sync::{Arc, RwLock};
use std::thread::sleep; use std::thread::sleep;
use std::time::Duration; use std::time::Duration;
struct DummyBroadcastService { struct MockBroadcastService {
db_ledger: Arc<DbLedger>, db_ledger: Arc<DbLedger>,
broadcast_service: BroadcastService, broadcast_service: BroadcastService,
entry_sender: Sender<Vec<Entry>>,
exit_signal: Arc<AtomicBool>,
} }
fn setup_dummy_broadcast_service( fn setup_dummy_broadcast_service(
leader_pubkey: Pubkey, leader_pubkey: Pubkey,
ledger_path: &str, ledger_path: &str,
leader_scheduler: Arc<RwLock<LeaderScheduler>>, leader_scheduler: Arc<RwLock<LeaderScheduler>>,
entry_receiver: Receiver<Vec<Entry>>,
entry_height: u64, entry_height: u64,
max_tick_height: u64, max_tick_height: u64,
) -> DummyBroadcastService { ) -> MockBroadcastService {
// Make the database ledger // Make the database ledger
let db_ledger = Arc::new(DbLedger::open(ledger_path).unwrap()); let db_ledger = Arc::new(DbLedger::open(ledger_path).unwrap());
@ -406,12 +403,11 @@ mod test {
let window = new_window(32 * 1024); let window = new_window(32 * 1024);
let shared_window = Arc::new(RwLock::new(window)); let shared_window = Arc::new(RwLock::new(window));
let (entry_sender, entry_receiver) = channel();
let exit_sender = Arc::new(AtomicBool::new(false)); let exit_sender = Arc::new(AtomicBool::new(false));
let bank = Arc::new(Bank::default()); let bank = Arc::new(Bank::default());
// Start up the broadcast stage // Start up the broadcast stage
let (broadcast_service, exit_signal) = BroadcastService::new( let broadcast_service = BroadcastService::new(
db_ledger.clone(), db_ledger.clone(),
bank.clone(), bank.clone(),
leader_info.sockets.broadcast, leader_info.sockets.broadcast,
@ -424,11 +420,9 @@ mod test {
exit_sender, exit_sender,
); );
DummyBroadcastService { MockBroadcastService {
db_ledger, db_ledger,
broadcast_service, broadcast_service,
entry_sender,
exit_signal,
} }
} }
@ -450,10 +444,12 @@ mod test {
let entry_height = 2 * start_tick_height; let entry_height = 2 * start_tick_height;
let leader_scheduler = Arc::new(RwLock::new(leader_scheduler)); let leader_scheduler = Arc::new(RwLock::new(leader_scheduler));
let (entry_sender, entry_receiver) = channel();
let broadcast_service = setup_dummy_broadcast_service( let broadcast_service = setup_dummy_broadcast_service(
leader_keypair.pubkey(), leader_keypair.pubkey(),
&ledger_path, &ledger_path,
leader_scheduler.clone(), leader_scheduler.clone(),
entry_receiver,
entry_height, entry_height,
max_tick_height, max_tick_height,
); );
@ -465,8 +461,7 @@ mod test {
for (i, mut tick) in ticks.into_iter().enumerate() { for (i, mut tick) in ticks.into_iter().enumerate() {
// Simulate the tick heights generated in poh.rs // Simulate the tick heights generated in poh.rs
tick.tick_height = start_tick_height + i as u64 + 1; tick.tick_height = start_tick_height + i as u64 + 1;
broadcast_service entry_sender
.entry_sender
.send(vec![tick]) .send(vec![tick])
.expect("Expect successful send to broadcast service"); .expect("Expect successful send to broadcast service");
} }
@ -484,7 +479,7 @@ mod test {
assert!(result.is_some()); assert!(result.is_some());
} }
broadcast_service.exit_signal.store(true, Ordering::Relaxed); drop(entry_sender);
broadcast_service broadcast_service
.broadcast_service .broadcast_service
.join() .join()

View File

@ -312,7 +312,7 @@ impl Fullnode {
scheduled_leader, scheduled_leader,
); );
let (broadcast_service, _) = BroadcastService::new( let broadcast_service = BroadcastService::new(
db_ledger.clone(), db_ledger.clone(),
bank.clone(), bank.clone(),
node.sockets node.sockets
@ -487,7 +487,7 @@ impl Fullnode {
self.keypair.pubkey(), self.keypair.pubkey(),
); );
let (broadcast_service, _) = BroadcastService::new( let broadcast_service = BroadcastService::new(
self.db_ledger.clone(), self.db_ledger.clone(),
self.bank.clone(), self.bank.clone(),
self.broadcast_socket self.broadcast_socket