Optimize TpuConnection and its implementations and refactor connection-cache to not use dyn in order to enable those changes (#23877)

This commit is contained in:
ryleung-solana
2022-03-24 11:40:26 -04:00
committed by GitHub
parent 5b916961b5
commit 82945ba973
11 changed files with 266 additions and 48 deletions

View File

@@ -1,7 +1,7 @@
use {
crate::tower_storage::{SavedTowerVersions, TowerStorage},
crossbeam_channel::Receiver,
solana_client::connection_cache::get_connection,
solana_client::connection_cache::send_wire_transaction,
solana_gossip::cluster_info::ClusterInfo,
solana_measure::measure::Measure,
solana_poh::poh_recorder::PohRecorder,
@@ -91,7 +91,7 @@ impl VotingService {
let mut measure = Measure::start("vote_tx_send-ms");
let target_address = target_address.unwrap_or_else(|| cluster_info.my_contact_info().tpu);
let wire_vote_tx = bincode::serialize(vote_op.tx()).expect("vote serialization failure");
let _ = get_connection(&target_address).send_wire_transaction(&wire_vote_tx);
let _ = send_wire_transaction(&wire_vote_tx, &target_address);
measure.stop();
inc_new_counter_info!("vote_tx_send-ms", measure.as_ms() as usize);