add sample client

This commit is contained in:
GroovieGermanikus 2023-06-23 09:16:57 +02:00
parent 87219da3e4
commit 90e04680af
5 changed files with 17 additions and 3 deletions

View File

@ -9,6 +9,7 @@ use solana_sdk::signature::Keypair;
use std::env;
use solana_lite_rpc_quic_forward_proxy::proxy::QuicForwardProxy;
use solana_lite_rpc_quic_forward_proxy::SelfSignedTlsConfigProvider;
use solana_lite_rpc_quic_forward_proxy::test_client::quic_test_client::QuicTestClient;
// use lite_rpc_quic_forward_proxy::tls_config::SelfSignedTlsConfigProvider;
async fn get_identity_keypair(identity_from_cli: &String) -> Keypair {
@ -92,6 +93,12 @@ pub async fn main() -> anyhow::Result<()> {
prometheus_addr,
);
let proxy_addr = "127.0.0.1:11111".parse().unwrap();
let test_client = QuicTestClient::new_with_endpoint(
proxy_addr, &tls_configuration)
.await?
.start_services();
let ctrl_c_signal = tokio::signal::ctrl_c();
tokio::select! {
@ -100,7 +107,10 @@ pub async fn main() -> anyhow::Result<()> {
},
res = quicproxy_service => {
bail!("Quic Proxy quit unexpectedly {res:?}");
}
},
res = test_client => {
bail!("Test Client quit unexpectedly {res:?}");
},
_ = ctrl_c_signal => {
info!("Received ctrl+c signal");

View File

@ -1,5 +1,6 @@
pub mod quic_util;
pub mod tls_config_provicer;
pub mod proxy;
pub mod test_client;
pub use tls_config_provicer::SelfSignedTlsConfigProvider;
// pub mod tls_config;

View File

@ -13,6 +13,7 @@ use solana_sdk::transaction::VersionedTransaction;
use tokio::net::ToSocketAddrs;
use solana_lite_rpc_core::AnyhowJoinHandle;
use solana_streamer::tls_certificates::new_self_signed_tls_certificate;
use solana_lite_rpc_services::tpu_utils::tpu_connection_manager::ActiveConnection;
use crate::tls_config_provicer::{ProxyTlsConfigProvider, SelfSignedTlsConfigProvider};
@ -116,6 +117,8 @@ async fn handle_connection2(connecting: Connecting) -> anyhow::Result<()> {
info!("transaction details: {} sigs", tx.signatures.len());
// ActiveConnection::new(e)new(tx).await;
// send_data(send).await;
Ok(())
});

View File

@ -38,7 +38,7 @@ impl QuicTestClient {
let test_client_service: AnyhowJoinHandle = tokio::spawn(async move {
info!("Sample Quic Client starting ...");
let mut ticker = tokio::time::interval(Duration::from_secs(1));
let mut ticker = tokio::time::interval(Duration::from_secs(3));
// TODO exit signal
loop {
// create new connection everytime

View File

@ -34,7 +34,7 @@ lazy_static::lazy_static! {
register_int_gauge!(opts!("literpc_quic_tasks", "Number of connections to keep asked by tpu service")).unwrap();
}
struct ActiveConnection {
pub struct ActiveConnection {
endpoint: Endpoint,
identity: Pubkey,
tpu_address: SocketAddr,