pub async fn handle_connection( stream: TcpStream, engine: Arc<RwLock<Engine>>, expected_password: Option<String>, shutdown_rx: &mut Receiver<bool>, idle_timeout: Duration, query_timeout: Duration, )