From aa53605153722a3c68527ca30c33ddf89b422522 Mon Sep 17 00:00:00 2001 From: omagdy Date: Tue, 15 Jul 2025 01:06:23 +0300 Subject: test respond to multiple PINGs --- src/main.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 20ceccd..464716f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,8 @@ #![allow(unused_imports)] -use std::{io::Write, net::TcpListener}; +use std::{ + io::{Read, Write}, + net::TcpListener, +}; fn main() { let listener = TcpListener::bind("127.0.0.1:6379").unwrap(); @@ -7,7 +10,12 @@ fn main() { for stream in listener.incoming() { match stream { Ok(mut stream) => { - stream.write_all(b"+PONG\r\n").unwrap(); + let mut buf = [0; 128]; + stream.read(&mut buf).unwrap(); + let request = str::from_utf8(&buf).unwrap(); + for _ in 0..request.matches("PING").count() { + stream.write_all(b"+PONG\r\n").unwrap(); + } } Err(e) => { println!("error: {}", e); -- cgit v1.2.3