pub async fn run_until_ctrl_c<F, E>(fut: F) -> Result<(), E>where F: Future<Output = Result<(), E>>, E: Send + Sync + 'static + From<Error>,