pub async fn run<P: Into<String> + Send>( prefix: P, mqtt_options: MqttOptions, shutdown: impl Future, ) -> Result<()>