async fn handle_queue( disk_state: Rc<RwLock<DiskState>>, queue: Queue, evt: EventAsync, flush_timer: Rc<RefCell<TimerAsync<Timer>>>, flush_timer_armed: Rc<RefCell<bool>>, stop_rx: Receiver<()>, ) -> Queue