Shutdown gracefully shuts down the dashboard server
()
| 232 | |
| 233 | // Shutdown gracefully shuts down the dashboard server |
| 234 | func (ds *DashboardServer) Shutdown() { |
| 235 | close(ds.shutdown) |
| 236 | |
| 237 | // Close all WebSocket connections |
| 238 | ds.clientsMu.Lock() |
| 239 | for client := range ds.clients { |
| 240 | client.Close() |
| 241 | } |
| 242 | ds.clients = make(map[*websocket.Conn]bool) |
| 243 | ds.clientsMu.Unlock() |
| 244 | |
| 245 | shared.LogInfof("Dashboard server shutdown complete") |
| 246 | } |
| 247 | |
| 248 | // StartDashboardServer starts the dashboard HTTP server (legacy function for compatibility) |
| 249 | func StartDashboardServer(addr string, cm *manager.ConnManager) error { |