solana_core/
admin_rpc_post_init.rs

1use {
2    crate::{
3        cluster_slots_service::cluster_slots::ClusterSlots,
4        repair::{outstanding_requests::OutstandingRequests, serve_repair::ShredRepairType},
5    },
6    solana_gossip::cluster_info::ClusterInfo,
7    solana_runtime::bank_forks::BankForks,
8    solana_sdk::{pubkey::Pubkey, quic::NotifyKeyUpdate},
9    std::{
10        collections::HashSet,
11        net::UdpSocket,
12        sync::{Arc, RwLock},
13    },
14};
15
16#[derive(Clone)]
17pub struct AdminRpcRequestMetadataPostInit {
18    pub cluster_info: Arc<ClusterInfo>,
19    pub bank_forks: Arc<RwLock<BankForks>>,
20    pub vote_account: Pubkey,
21    pub repair_whitelist: Arc<RwLock<HashSet<Pubkey>>>,
22    pub notifies: Vec<Arc<dyn NotifyKeyUpdate + Sync + Send>>,
23    pub repair_socket: Arc<UdpSocket>,
24    pub outstanding_repair_requests: Arc<RwLock<OutstandingRequests<ShredRepairType>>>,
25    pub cluster_slots: Arc<ClusterSlots>,
26}