Shut down all plugin subprocesses.
(&self)
| 186 | |
| 187 | /// Shut down all plugin subprocesses. |
| 188 | pub async fn shutdown_all(&self) { |
| 189 | let clients = self.clients.read().await; |
| 190 | for client in clients.iter() { |
| 191 | if let Err(e) = client.shutdown().await { |
| 192 | tracing::warn!(plugin = client.name(), error = %e, "error shutting down plugin"); |
| 193 | } |
| 194 | } |
| 195 | } |
| 196 | |
| 197 | /// Get the auth bridge for a given provider ID, if any plugin provides it. |
| 198 | pub async fn auth_bridge(&self, provider: &str) -> Option<Arc<PluginAuthBridge>> { |