diff options
| author | omagdy <omar.professional8777@gmail.com> | 2025-07-23 22:39:16 +0300 |
|---|---|---|
| committer | omagdy <omar.professional8777@gmail.com> | 2025-07-23 22:39:16 +0300 |
| commit | 561fb8d783cc000b7b9cc204e10618464c092e18 (patch) | |
| tree | 2d5cd5528ad5e6bdec3736bfedb74189e2757829 /src/resp_commands.rs | |
| parent | 91d8ff4f006d669de8b65f6ee32ce352d0598719 (diff) | |
| download | redis-rust-561fb8d783cc000b7b9cc204e10618464c092e18.tar.xz redis-rust-561fb8d783cc000b7b9cc204e10618464c092e18.zip | |
refactor: did some better design choices
Diffstat (limited to 'src/resp_commands.rs')
| -rw-r--r-- | src/resp_commands.rs | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/resp_commands.rs b/src/resp_commands.rs index 03ec9dc..453024c 100644 --- a/src/resp_commands.rs +++ b/src/resp_commands.rs @@ -259,7 +259,7 @@ impl RedisCommands { "# Replication\r\nrole:{}master_replid:{}master_repl_offset:{}", server.role(), master.replid.clone().unwrap_or("".to_string()), - master.current_offset.clone().unwrap_or("".to_string()) + master.current_offset.lock().unwrap(), ) .as_bytes() .to_vec(); @@ -270,7 +270,7 @@ impl RedisCommands { "# Replication\r\nrole:{}master_replid:{}master_repl_offset:{}", server.role(), slave.master_replid.clone().unwrap_or("".to_string()), - slave.master_repl_offset.clone().unwrap_or("".to_string()) + slave.master_repl_offset.lock().unwrap() ) .as_bytes() .to_vec(); @@ -278,9 +278,13 @@ impl RedisCommands { } } } - RC::ReplConf((_, _)) => { - resp_bytes!("OK") - } + RC::ReplConf((op1, op2)) => match (op1.to_uppercase().as_str(), op2.as_str()) { + ("GETACK", "*") => { + println!("Did i even get here?"); + resp_bytes!(array => [resp!(bulk "REPLCONF"), resp!(bulk "ACK"), resp!(bulk server.lock().unwrap().repl_offset().to_string())]) + } + _ => resp_bytes!("OK"), + }, RC::Psync((_, _)) => { let server = server.lock().unwrap(); if let RedisServer::Master(master) = &*server { @@ -482,6 +486,7 @@ impl From<RespType> for RedisCommands { let Some(op2) = args.next() else { return Self::Invalid; }; + println!("Hello from here"); Self::ReplConf((op1, op2)) } "PSYNC" => { |
