Add the port and host CLI arguments

Improve args and add them to --help

Remove unnecessary unwraps
This commit is contained in:
Maxim Svistunov 2024-01-28 19:17:19 +01:00
parent 85bc46c5b0
commit e80beaf160
3 changed files with 16 additions and 1 deletions

1
Cargo.lock generated
View file

@ -203,6 +203,7 @@ name = "client"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"minisql",
"parser",
"proto",

View file

@ -11,3 +11,4 @@ anyhow = "1.0.76"
proto = { path = "../proto" }
minisql = { path = "../minisql" }
parser = { path = "../parser" }
clap = { version = "4.4.18", features = ["derive"] }

View file

@ -1,3 +1,4 @@
use clap::Parser;
use proto::handshake::client::do_client_handshake;
use proto::handshake::request::HandshakeRequest;
use proto::reader::protoreader::ProtoReader;
@ -9,9 +10,21 @@ use proto::message::frontend::{FrontendMessage, QueryData};
use proto::reader::oneway::OneWayProtoReader;
use proto::writer::oneway::OneWayProtoWriter;
#[derive(Parser)]
struct Cli {
/// Port number of the server.
#[arg(short, long, default_value_t = 5432, help = "Port number of the server")]
port: u16,
/// Host name or IP address of the server.
#[arg(short, long, default_value = "127.0.0.1", help = "Host name or IP address of the server")]
host: String,
}
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let addr = "127.0.0.1:5432";
let cli = Cli::parse();
let addr = format!("{}:{}", cli.host, cli.port);
let mut stream = TcpStream::connect(addr).await?;
let (reader, writer) = stream.split();