use std::{net::SocketAddr, str::FromStr};
use scylla_proxy::{Node, Proxy, ShardAwareness};
fn init_logger() {
tracing_subscriber::fmt::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.without_time()
.init()
}
async fn pause() {
println!("Press Ctrl-C to stop the proxy...");
tokio::signal::ctrl_c().await.unwrap();
}
#[tokio::main]
async fn main() {
init_logger();
let node1_real_addr = SocketAddr::from_str("127.0.0.1:9042").unwrap();
let node1_proxy_addr = SocketAddr::from_str("127.0.0.2:9042").unwrap();
let proxy = Proxy::builder()
.with_node(
Node::builder()
.real_address(node1_real_addr)
.proxy_address(node1_proxy_addr)
.shard_awareness(ShardAwareness::Unaware)
.build(),
)
.build();
let running_proxy = proxy.run().await.unwrap();
pause().await;
running_proxy.finish().await.unwrap();
}