(self: Arc<Self>)
| 196 | } |
| 197 | |
| 198 | async fn run(self: Arc<Self>) { |
| 199 | loop { |
| 200 | match discover_webinspector_socket(&self.udid).await { |
| 201 | Ok(Some(socket)) => { |
| 202 | self.set_socket_state(Some(socket.path.clone()), Vec::new()) |
| 203 | .await; |
| 204 | if let Err(error) = self.run_connection(socket).await { |
| 205 | debug!( |
| 206 | "WebKit discovery connection ended for {}: {error}", |
| 207 | self.udid |
| 208 | ); |
| 209 | } |
| 210 | } |
| 211 | Ok(None) => { |
| 212 | self.set_socket_state( |
| 213 | None, |
| 214 | vec![format!( |
| 215 | "No WebKit Remote Inspector socket was found for simulator {}. Boot the simulator and open an inspectable Safari page or WKWebView.", |
| 216 | self.udid |
| 217 | )], |
| 218 | ) |
| 219 | .await; |
| 220 | } |
| 221 | Err(error) => { |
| 222 | self.set_socket_state(None, vec![error.to_string()]).await; |
| 223 | } |
| 224 | } |
| 225 | sleep(WEBKIT_DISCOVERY_RECONNECT_DELAY).await; |
| 226 | } |
| 227 | } |
| 228 | |
| 229 | async fn set_socket_state(&self, socket_path: Option<String>, warnings: Vec<String>) { |
| 230 | let mut state = self.state.write().await; |
no test coverage detected