fn parse_one(&mut self) -> Result<Option<RespValue>, String> { if self.buffer.is_empty() return Ok(None);
loop { let n = socket.read(&mut buffer).await?; if n == 0 break; match parser.parse(&buffer[..n]) { Ok(Some(commands)) => for cmd in commands let response = handle_command(&store, &cmd); let serialized = response.serialize(); socket.write_all(&serialized).await?; Ok(None) => // Incomplete frame, continue reading continue; Err(e) => { let error_resp = RespValue::Error(format!("ERR {}", e)); socket.write_all(&error_resp.serialize()).await?; break; } } } Giordani L. Rust Projects. Write a Redis Clone....
pub fn exists(&self, key: &str) -> bool self.get(key).is_some() fn parse_one(&mut self) ->