Fix udp port check retry and check all udp ports (#10385)

* Don't start if udp port is really closed

* Fully check all udp ports

* Remove test code.......

* Add tests and adjust impl a bit

* Add comment

* Move comment a bit

* Move a bit

* clean ups
This commit is contained in:
Ryo Onodera
2020-06-15 07:36:08 +09:00
committed by GitHub
parent 0d38257dbb
commit a39df7ee5d
3 changed files with 199 additions and 70 deletions

View File

@ -1110,23 +1110,17 @@ pub fn main() {
}
if let Some(ref cluster_entrypoint) = cluster_entrypoint {
let udp_sockets = [
node.sockets.tpu.first(),
/*
Enable these ports when `IpEchoServerMessage` supports more than 4 UDP ports:
node.sockets.tpu_forwards.first(),
node.sockets.tvu.first(),
node.sockets.tvu_forwards.first(),
node.sockets.broadcast.first(),
node.sockets.retransmit_sockets.first(),
*/
Some(&node.sockets.gossip),
Some(&node.sockets.repair),
Some(&node.sockets.serve_repair),
]
.iter()
.filter_map(|x| *x)
.collect::<Vec<_>>();
let mut udp_sockets = vec![
&node.sockets.gossip,
&node.sockets.repair,
&node.sockets.serve_repair,
];
udp_sockets.extend(node.sockets.tpu.iter());
udp_sockets.extend(node.sockets.tpu_forwards.iter());
udp_sockets.extend(node.sockets.tvu.iter());
udp_sockets.extend(node.sockets.tvu_forwards.iter());
udp_sockets.extend(node.sockets.broadcast.iter());
udp_sockets.extend(node.sockets.retransmit_sockets.iter());
let mut tcp_listeners = vec![];
if !private_rpc {