Split up ReplayStageConfig to make it derive Default (#7334)

automerge
This commit is contained in:
TristanDebrunner 2019-12-06 15:39:35 -07:00 committed by Grimes
parent 3ab8185777
commit 9ecb844de7
2 changed files with 17 additions and 17 deletions

View File

@ -64,17 +64,13 @@ impl Drop for Finalizer {
}
}
#[derive(Default)]
pub struct ReplayStageConfig {
pub my_pubkey: Pubkey,
pub vote_account: Pubkey,
pub voting_keypair: Option<Arc<Keypair>>,
pub blocktree: Arc<Blocktree>,
pub bank_forks: Arc<RwLock<BankForks>>,
pub cluster_info: Arc<RwLock<ClusterInfo>>,
pub exit: Arc<AtomicBool>,
pub ledger_signal_receiver: Receiver<bool>,
pub subscriptions: Arc<RpcSubscriptions>,
pub poh_recorder: Arc<Mutex<PohRecorder>>,
pub leader_schedule_cache: Arc<LeaderScheduleCache>,
pub slot_full_senders: Vec<Sender<(u64, Pubkey)>>,
pub snapshot_package_sender: Option<SnapshotPackageSender>,
@ -181,18 +177,20 @@ impl ForkProgress {
impl ReplayStage {
#[allow(clippy::new_ret_no_self)]
pub fn new(config: ReplayStageConfig) -> (Self, Receiver<Vec<Arc<Bank>>>) {
pub fn new(
config: ReplayStageConfig,
blocktree: Arc<Blocktree>,
bank_forks: Arc<RwLock<BankForks>>,
cluster_info: Arc<RwLock<ClusterInfo>>,
ledger_signal_receiver: Receiver<bool>,
poh_recorder: Arc<Mutex<PohRecorder>>,
) -> (Self, Receiver<Vec<Arc<Bank>>>) {
let ReplayStageConfig {
my_pubkey,
vote_account,
voting_keypair,
blocktree,
bank_forks,
cluster_info,
exit,
ledger_signal_receiver,
subscriptions,
poh_recorder,
leader_schedule_cache,
slot_full_senders,
snapshot_package_sender,

View File

@ -163,13 +163,8 @@ impl Tvu {
my_pubkey: keypair.pubkey(),
vote_account: *vote_account,
voting_keypair,
blocktree: blocktree.clone(),
bank_forks: bank_forks.clone(),
cluster_info: cluster_info.clone(),
exit: exit.clone(),
ledger_signal_receiver,
subscriptions: subscriptions.clone(),
poh_recorder: poh_recorder.clone(),
leader_schedule_cache: leader_schedule_cache.clone(),
slot_full_senders: vec![blockstream_slot_sender, ledger_cleanup_slot_sender],
snapshot_package_sender,
@ -177,7 +172,14 @@ impl Tvu {
transaction_status_sender,
};
let (replay_stage, root_bank_receiver) = ReplayStage::new(replay_stage_config);
let (replay_stage, root_bank_receiver) = ReplayStage::new(
replay_stage_config,
blocktree.clone(),
bank_forks.clone(),
cluster_info.clone(),
ledger_signal_receiver,
poh_recorder.clone(),
);
let blockstream_service = if let Some(blockstream_unix_socket) = blockstream_unix_socket {
let blockstream_service = BlockstreamService::new(