aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index c3a88b0..7ddd478 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -5,17 +5,26 @@ use std::{
thread,
};
+mod resp_commands;
+mod resp_parser;
+
+use resp_commands::RespCommands;
+use resp_parser::parse;
+
fn handle_client(mut stream: TcpStream) {
let mut buffer = [0; 512];
loop {
- let _bytes_read = match stream.read(&mut buffer) {
+ let bytes_read = match stream.read(&mut buffer) {
Ok(0) => return, // connection closed
Ok(n) => n,
Err(_) => return, // error occurred
};
+ let parsed_resp = parse(&buffer).unwrap();
+ let response = RespCommands::from(parsed_resp.0).execute();
+
// Hardcode PONG response for now
- stream.write(b"+PONG\r\n").unwrap();
+ stream.write(&response).unwrap();
// Echo the message back
// if let Err(_) = stream.write_all(&buffer[..bytes_read]) {