From d4dbbda97b42bad8a41297ba1c3a693f1fe66902 Mon Sep 17 00:00:00 2001 From: omagdy Date: Wed, 23 Jul 2025 01:26:04 +0300 Subject: feat: Added replicationID and replicationOffset in info command for master nodes --- src/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 94e7a20..8a88674 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,12 +7,16 @@ pub mod resp_commands; pub mod resp_parser; pub mod shared_cache; +// TODO: Model this in a better way there could be an enum where a Slave Server is distinguised +// from master servers in 2 different structs #[derive(Debug, Clone, Default)] pub struct RedisServer { pub role: String, pub port: String, pub master_host: String, pub master_port: String, + pub master_replid: Option, + pub master_repl_offset: Option, } impl RedisServer { @@ -22,6 +26,9 @@ impl RedisServer { port: "6379".to_string(), master_host: "".to_string(), master_port: "".to_string(), + // HACK: Hardcoded for now + master_replid: Some("8371b4fb1155b71f4a04d3e1bc3e18c4a990aeeb".to_string()), + master_repl_offset: Some("0".to_string()), } } } @@ -86,6 +93,11 @@ impl Config { .unwrap_or(("", "")); redis_server.role = "slave".to_string(); + + // slaves don't have master attributes!! + redis_server.master_replid = None; + redis_server.master_repl_offset = None; + redis_server.master_host = master_host.to_string(); redis_server.master_port = master_port.to_string(); i += 2; -- cgit v1.2.3