solana_core/
admin_rpc_post_init.rs1use {
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}