aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
authoromagdy <omar.professional8777@gmail.com>2025-07-22 07:12:55 +0300
committeromagdy <omar.professional8777@gmail.com>2025-07-22 07:12:55 +0300
commit257330132dacc2e754a858c342be1ef2a1105c8f (patch)
treec3958d37ab411da866dbff1cbf06cfc73ec058b9 /src/lib.rs
parent7e7ad6f35e32810f2083c0a78afe1e38c1c9f5f0 (diff)
downloadredis-rust-257330132dacc2e754a858c342be1ef2a1105c8f.tar.xz
redis-rust-257330132dacc2e754a858c342be1ef2a1105c8f.zip
feat: Configure listening port throught command line arguments
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index c660fd8..e43bbf6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -11,6 +11,7 @@ pub mod shared_cache;
pub struct Config {
pub dir: Option<String>,
pub dbfilename: Option<String>,
+ pub port: Option<String>,
}
pub type SharedConfig = Arc<Option<Config>>;
@@ -25,6 +26,7 @@ impl Config {
let mut dir = None;
let mut dbfilename = None;
+ let mut port = None;
let mut i = 1; // Skip program name
while i < args.len() {
@@ -43,12 +45,23 @@ impl Config {
dbfilename = Some(args[i + 1].clone());
i += 2;
}
+ "--port" => {
+ if i + 1 >= args.len() {
+ return Err("--dbfilename requires a value".to_string());
+ }
+ port = Some(args[i + 1].clone());
+ i += 2;
+ }
_ => {
return Err(format!("Unknown argument: {}", args[i]));
}
}
}
- Ok(Some(Config { dir, dbfilename }))
+ Ok(Some(Config {
+ dir,
+ dbfilename,
+ port,
+ }))
}
}