У меня есть TCP-сервер, прослушивающий запросы в бесконечном цикле:
use std::io::prelude::*;
use std::net::TcpStream;
use std::net::TcpListener;
fn main() {
let listener = TcpListener::bind("0.0.0.0:7878").unwrap();
for stream in listener.incoming() {
let mut stream = stream.unwrap();
let response = "HTTP/1.1 200 OK\r\n\r\nsdfuhgsjdfghsdfjk";
stream.write(response.as_bytes()).unwrap();
stream.flush().unwrap();
}
}
Как я могу разорвать цикл после определенного периода времени (тайм-аута)?
По истечении времени ожиданияМне нужно, чтобы цикл прослушивания был остановлен:
- в тот момент, если нет входящего потока (то есть, если нет входящих потоков и их может не быть в будущем, мне нужен серверперестать ждать напрасно)
- после обработки одного последнего потока, если в этот момент уже есть один входящий