async fn run_worker( ex: &Executor, disk_state: &Rc<RwLock<DiskState>>, control_tube: &Option<AsyncTube>, worker_rx: UnboundedReceiver<WorkerCmd>, kill_evt: Event, ) -> Result<()>