11use {
22 crossbeam_channel:: { Receiver , RecvTimeoutError , SendError , Sender } ,
3- solana_gossip:: cluster_info:: ClusterInfo ,
43 solana_ledger:: {
54 leader_schedule_cache:: LeaderScheduleCache , shred, sigverify_shreds:: verify_shreds_gpu,
65 } ,
@@ -26,7 +25,6 @@ enum Error {
2625}
2726
2827pub ( crate ) fn spawn_shred_sigverify (
29- cluster_info : Arc < ClusterInfo > ,
3028 bank_forks : Arc < RwLock < BankForks > > ,
3129 leader_schedule_cache : Arc < LeaderScheduleCache > ,
3230 shred_fetch_receiver : Receiver < PacketBatch > ,
@@ -42,7 +40,6 @@ pub(crate) fn spawn_shred_sigverify(
4240 match run_shred_sigverify (
4341 // We can't store the pubkey outside the loop
4442 // because the identity might be hot swapped.
45- & cluster_info. id ( ) ,
4643 & bank_forks,
4744 & leader_schedule_cache,
4845 & recycler_cache,
@@ -63,7 +60,6 @@ pub(crate) fn spawn_shred_sigverify(
6360}
6461
6562fn run_shred_sigverify (
66- self_pubkey : & Pubkey ,
6763 bank_forks : & RwLock < BankForks > ,
6864 leader_schedule_cache : & LeaderScheduleCache ,
6965 recycler_cache : & RecyclerCache ,
@@ -83,7 +79,6 @@ fn run_shred_sigverify(
8379 stats. num_packets += packets. iter ( ) . map ( PacketBatch :: len) . sum :: < usize > ( ) ;
8480 stats. num_discards_pre += count_discards ( & packets) ;
8581 verify_packets (
86- self_pubkey,
8782 bank_forks,
8883 leader_schedule_cache,
8984 recycler_cache,
@@ -108,15 +103,14 @@ fn run_shred_sigverify(
108103}
109104
110105fn verify_packets (
111- self_pubkey : & Pubkey ,
112106 bank_forks : & RwLock < BankForks > ,
113107 leader_schedule_cache : & LeaderScheduleCache ,
114108 recycler_cache : & RecyclerCache ,
115109 packets : & mut [ PacketBatch ] ,
116110) {
117111 let working_bank = bank_forks. read ( ) . unwrap ( ) . working_bank ( ) ;
118112 let leader_slots: HashMap < Slot , [ u8 ; 32 ] > =
119- get_slot_leaders ( self_pubkey , packets, leader_schedule_cache, & working_bank)
113+ get_slot_leaders ( packets, leader_schedule_cache, & working_bank)
120114 . into_iter ( )
121115 . filter_map ( |( slot, pubkey) | Some ( ( slot, pubkey?. to_bytes ( ) ) ) )
122116 . chain ( std:: iter:: once ( ( Slot :: MAX , [ 0u8 ; 32 ] ) ) )
@@ -129,9 +123,7 @@ fn verify_packets(
129123// Marks packets as discard if:
130124// - fails to deserialize the shred slot.
131125// - slot leader is unknown.
132- // - slot leader is the node itself (circular transmission).
133126fn get_slot_leaders (
134- self_pubkey : & Pubkey ,
135127 batches : & mut [ PacketBatch ] ,
136128 leader_schedule_cache : & LeaderScheduleCache ,
137129 bank : & Bank ,
@@ -152,8 +144,7 @@ fn get_slot_leaders(
152144 } ;
153145 let leader = leaders. entry ( slot) . or_insert_with ( || {
154146 let leader = leader_schedule_cache. slot_leader_at ( slot, Some ( bank) ) ?;
155- // Discard the shred if the slot leader is the node itself.
156- ( & leader != self_pubkey) . then_some ( leader)
147+ Some ( leader)
157148 } ) ;
158149 if leader. is_none ( ) {
159150 packet. meta_mut ( ) . set_discard ( true ) ;
@@ -285,7 +276,6 @@ mod tests {
285276 batches[ 0 ] [ 1 ] . meta_mut ( ) . size = shred. payload ( ) . len ( ) ;
286277
287278 verify_packets (
288- & Pubkey :: new_unique ( ) , // self_pubkey
289279 & bank_forks,
290280 & leader_schedule_cache,
291281 & RecyclerCache :: warmed ( ) ,
0 commit comments