removes erroneous uses of Arc<...> from retransmit stage

This commit is contained in:
behzad nouri
2021-08-13 13:48:42 -04:00
parent 8198a7eae1
commit 6e413331b5
3 changed files with 21 additions and 21 deletions

View File

@ -107,7 +107,7 @@ fn bench_retransmitter(bencher: &mut Bencher) {
let retransmitter_handles = retransmitter( let retransmitter_handles = retransmitter(
Arc::new(sockets), Arc::new(sockets),
bank_forks, bank_forks,
&leader_schedule_cache, leader_schedule_cache,
cluster_info, cluster_info,
packet_receiver, packet_receiver,
Arc::default(), // solana_rpc::max_slots::MaxSlots Arc::default(), // solana_rpc::max_slots::MaxSlots

View File

@ -241,7 +241,7 @@ fn retransmit(
shreds_received: &Mutex<ShredFilterAndHasher>, shreds_received: &Mutex<ShredFilterAndHasher>,
max_slots: &MaxSlots, max_slots: &MaxSlots,
first_shreds_received: &Mutex<BTreeSet<Slot>>, first_shreds_received: &Mutex<BTreeSet<Slot>>,
rpc_subscriptions: &Option<Arc<RpcSubscriptions>>, rpc_subscriptions: Option<&RpcSubscriptions>,
) -> Result<()> { ) -> Result<()> {
const RECV_TIMEOUT: Duration = Duration::from_secs(1); const RECV_TIMEOUT: Duration = Duration::from_secs(1);
let r_lock = r.lock().unwrap(); let r_lock = r.lock().unwrap();
@ -380,7 +380,7 @@ fn retransmit(
pub fn retransmitter( pub fn retransmitter(
sockets: Arc<Vec<UdpSocket>>, sockets: Arc<Vec<UdpSocket>>,
bank_forks: Arc<RwLock<BankForks>>, bank_forks: Arc<RwLock<BankForks>>,
leader_schedule_cache: &Arc<LeaderScheduleCache>, leader_schedule_cache: Arc<LeaderScheduleCache>,
cluster_info: Arc<ClusterInfo>, cluster_info: Arc<ClusterInfo>,
r: Arc<Mutex<PacketReceiver>>, r: Arc<Mutex<PacketReceiver>>,
max_slots: Arc<MaxSlots>, max_slots: Arc<MaxSlots>,
@ -430,7 +430,7 @@ pub fn retransmitter(
&shreds_received, &shreds_received,
&max_slots, &max_slots,
&first_shreds_received, &first_shreds_received,
&rpc_subscriptions, rpc_subscriptions.as_deref(),
) { ) {
match e { match e {
Error::RecvTimeout(RecvTimeoutError::Disconnected) => break, Error::RecvTimeout(RecvTimeoutError::Disconnected) => break,
@ -448,7 +448,7 @@ pub fn retransmitter(
.collect() .collect()
} }
pub struct RetransmitStage { pub(crate) struct RetransmitStage {
thread_hdls: Vec<JoinHandle<()>>, thread_hdls: Vec<JoinHandle<()>>,
window_service: WindowService, window_service: WindowService,
cluster_slots_service: ClusterSlotsService, cluster_slots_service: ClusterSlotsService,
@ -457,15 +457,15 @@ pub struct RetransmitStage {
impl RetransmitStage { impl RetransmitStage {
#[allow(clippy::new_ret_no_self)] #[allow(clippy::new_ret_no_self)]
#[allow(clippy::too_many_arguments)] #[allow(clippy::too_many_arguments)]
pub fn new( pub(crate) fn new(
bank_forks: Arc<RwLock<BankForks>>, bank_forks: Arc<RwLock<BankForks>>,
leader_schedule_cache: &Arc<LeaderScheduleCache>, leader_schedule_cache: Arc<LeaderScheduleCache>,
blockstore: Arc<Blockstore>, blockstore: Arc<Blockstore>,
cluster_info: &Arc<ClusterInfo>, cluster_info: Arc<ClusterInfo>,
retransmit_sockets: Arc<Vec<UdpSocket>>, retransmit_sockets: Arc<Vec<UdpSocket>>,
repair_socket: Arc<UdpSocket>, repair_socket: Arc<UdpSocket>,
verified_receiver: Receiver<Vec<Packets>>, verified_receiver: Receiver<Vec<Packets>>,
exit: &Arc<AtomicBool>, exit: Arc<AtomicBool>,
cluster_slots_update_receiver: ClusterSlotsUpdateReceiver, cluster_slots_update_receiver: ClusterSlotsUpdateReceiver,
epoch_schedule: EpochSchedule, epoch_schedule: EpochSchedule,
cfg: Option<Arc<AtomicBool>>, cfg: Option<Arc<AtomicBool>>,
@ -475,7 +475,7 @@ impl RetransmitStage {
verified_vote_receiver: VerifiedVoteReceiver, verified_vote_receiver: VerifiedVoteReceiver,
repair_validators: Option<HashSet<Pubkey>>, repair_validators: Option<HashSet<Pubkey>>,
completed_data_sets_sender: CompletedDataSetsSender, completed_data_sets_sender: CompletedDataSetsSender,
max_slots: &Arc<MaxSlots>, max_slots: Arc<MaxSlots>,
rpc_subscriptions: Option<Arc<RpcSubscriptions>>, rpc_subscriptions: Option<Arc<RpcSubscriptions>>,
duplicate_slots_sender: Sender<Slot>, duplicate_slots_sender: Sender<Slot>,
ancestor_hashes_replay_update_receiver: AncestorHashesReplayUpdateReceiver, ancestor_hashes_replay_update_receiver: AncestorHashesReplayUpdateReceiver,
@ -486,10 +486,10 @@ impl RetransmitStage {
let thread_hdls = retransmitter( let thread_hdls = retransmitter(
retransmit_sockets, retransmit_sockets,
bank_forks.clone(), bank_forks.clone(),
leader_schedule_cache, leader_schedule_cache.clone(),
cluster_info.clone(), cluster_info.clone(),
retransmit_receiver, retransmit_receiver,
Arc::clone(max_slots), max_slots,
rpc_subscriptions, rpc_subscriptions,
); );
@ -508,7 +508,7 @@ impl RetransmitStage {
epoch_schedule, epoch_schedule,
duplicate_slots_reset_sender, duplicate_slots_reset_sender,
repair_validators, repair_validators,
cluster_info: cluster_info.clone(), cluster_info,
cluster_slots, cluster_slots,
}; };
let window_service = WindowService::new( let window_service = WindowService::new(
@ -516,9 +516,9 @@ impl RetransmitStage {
verified_receiver, verified_receiver,
retransmit_sender, retransmit_sender,
repair_socket, repair_socket,
exit.clone(), exit,
repair_info, repair_info,
leader_schedule_cache.clone(), leader_schedule_cache,
move |id, shred, working_bank, last_root| { move |id, shred, working_bank, last_root| {
let is_connected = cfg let is_connected = cfg
.as_ref() .as_ref()
@ -547,7 +547,7 @@ impl RetransmitStage {
} }
} }
pub fn join(self) -> thread::Result<()> { pub(crate) fn join(self) -> thread::Result<()> {
for thread_hdl in self.thread_hdls { for thread_hdl in self.thread_hdls {
thread_hdl.join()?; thread_hdl.join()?;
} }
@ -620,7 +620,7 @@ mod tests {
let _t_retransmit = retransmitter( let _t_retransmit = retransmitter(
retransmit_socket, retransmit_socket,
bank_forks, bank_forks,
&leader_schedule_cache, leader_schedule_cache,
cluster_info, cluster_info,
Arc::new(Mutex::new(retransmit_receiver)), Arc::new(Mutex::new(retransmit_receiver)),
Arc::default(), // MaxSlots Arc::default(), // MaxSlots

View File

@ -175,13 +175,13 @@ impl Tvu {
unbounded(); unbounded();
let retransmit_stage = RetransmitStage::new( let retransmit_stage = RetransmitStage::new(
bank_forks.clone(), bank_forks.clone(),
leader_schedule_cache, leader_schedule_cache.clone(),
blockstore.clone(), blockstore.clone(),
cluster_info, cluster_info.clone(),
Arc::new(retransmit_sockets), Arc::new(retransmit_sockets),
repair_socket, repair_socket,
verified_receiver, verified_receiver,
exit, exit.clone(),
cluster_slots_update_receiver, cluster_slots_update_receiver,
*bank_forks.read().unwrap().working_bank().epoch_schedule(), *bank_forks.read().unwrap().working_bank().epoch_schedule(),
cfg, cfg,
@ -191,7 +191,7 @@ impl Tvu {
verified_vote_receiver, verified_vote_receiver,
tvu_config.repair_validators, tvu_config.repair_validators,
completed_data_sets_sender, completed_data_sets_sender,
max_slots, max_slots.clone(),
Some(rpc_subscriptions.clone()), Some(rpc_subscriptions.clone()),
duplicate_slots_sender, duplicate_slots_sender,
ancestor_hashes_replay_update_receiver, ancestor_hashes_replay_update_receiver,