aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authoromagdy <omar.professional8777@gmail.com>2025-07-22 06:08:36 +0300
committeromagdy <omar.professional8777@gmail.com>2025-07-22 06:10:05 +0300
commit8d3c6333619e511b5f103f382d21a9891dd0e794 (patch)
tree67f9bb412c7eadecacf50e44caa29137c0a07ff5 /src/main.rs
parent846479e6bcf8238879546534b09e141b9bb668f8 (diff)
downloadredis-rust-8d3c6333619e511b5f103f382d21a9891dd0e794.tar.xz
redis-rust-8d3c6333619e511b5f103f382d21a9891dd0e794.zip
feat: Added a feature to proprely parse rdb files and added support for KEYS command
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index b29e2ce..effc1e7 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -55,16 +55,17 @@ fn handle_client(mut stream: TcpStream, cache: SharedCache, config: SharedConfig
fn main() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:6379").unwrap();
let cache: SharedCache = Arc::new(Mutex::new(HashMap::new()));
- let mut config: SharedConfig = None.into();
+ let mut config: SharedConfig = Arc::new(None);
spawn_cleanup_thread(cache.clone());
match Config::new() {
Ok(conf) => {
- config = Arc::new(Some((conf)));
+ if let Some(conf) = conf {
+ config = Arc::new(Some(conf));
+ }
}
Err(e) => {
- config = Arc::new(None);
eprintln!("Error: {}", e);
std::process::exit(1);
}