Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit bc678b1

Browse files
committed
Forwarder: separate get_leader_and_addr
1 parent b53656b commit bc678b1

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

core/src/banking_stage/forwarder.rs

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use {
1717
solana_streamer::sendmmsg::batch_send,
1818
std::{
1919
iter::repeat,
20-
net::UdpSocket,
20+
net::{SocketAddr, UdpSocket},
2121
sync::{atomic::Ordering, Arc, RwLock},
2222
},
2323
};
@@ -147,19 +147,8 @@ impl Forwarder {
147147
usize,
148148
Option<Pubkey>,
149149
) {
150-
let leader_and_addr = match forward_option {
151-
ForwardOption::NotForward => return (Ok(()), 0, None),
152-
ForwardOption::ForwardTransaction => {
153-
next_leader_tpu_forwards(&self.cluster_info, &self.poh_recorder)
154-
}
155-
156-
ForwardOption::ForwardTpuVote => {
157-
next_leader_tpu_vote(&self.cluster_info, &self.poh_recorder)
158-
}
159-
};
160-
let (leader_pubkey, addr) = match leader_and_addr {
161-
Some(leader_and_addr) => leader_and_addr,
162-
None => return (Ok(()), 0, None),
150+
let Some((leader_pubkey, addr)) = self.get_leader_and_addr(forward_option) else {
151+
return (Ok(()), 0, None);
163152
};
164153

165154
const INTERVAL_MS: u64 = 100;
@@ -227,6 +216,20 @@ impl Forwarder {
227216

228217
(Ok(()), packet_vec_len, Some(leader_pubkey))
229218
}
219+
220+
/// Get the pubkey and socket address for the leader to forward to
221+
fn get_leader_and_addr(&self, forward_option: &ForwardOption) -> Option<(Pubkey, SocketAddr)> {
222+
match forward_option {
223+
ForwardOption::NotForward => None,
224+
ForwardOption::ForwardTransaction => {
225+
next_leader_tpu_forwards(&self.cluster_info, &self.poh_recorder)
226+
}
227+
228+
ForwardOption::ForwardTpuVote => {
229+
next_leader_tpu_vote(&self.cluster_info, &self.poh_recorder)
230+
}
231+
}
232+
}
230233
}
231234

232235
#[cfg(test)]

0 commit comments

Comments
 (0)