solana/turbine/src
behzad nouri 8becb72b3e
separates out routing shreds from establishing connections (#33599)
Currently each outgoing shred will attempt to establish a connection if
one does not already exist. This is very wasteful and consumes many
tokio tasks if the remote node is down or unresponsive.

The commit decouples routing packets from establishing connections by
adding a buffering channel for each remote address. Outgoing packets are
always sent down this channel to be processed once the connection is
established. If connecting attempt fails, all packets already pushed to
the channel are dropped at once, reducing the number of attempts to make
a connection if the remote node is down or unresponsive.
2023-10-19 15:44:15 +00:00
..
broadcast_stage adds more context why the first data shred is inserted synchronously (#33092) 2023-09-12 15:27:06 +00:00
broadcast_stage.rs
cluster_nodes.rs removes outdated check for merkle shreds (#33088) 2023-08-31 20:01:54 +00:00
lib.rs removes outdated matches crate from dependencies (#33172) 2023-09-07 12:52:57 +00:00
quic_endpoint.rs separates out routing shreds from establishing connections (#33599) 2023-10-19 15:44:15 +00:00
retransmit_stage.rs
sigverify_shreds.rs simplifies sigverify_shreds::get_slot_leaders (#33079) 2023-08-31 19:49:23 +00:00