(res wsproxysdk.RegisterWorkspaceProxyResponse)
| 500 | } |
| 501 | |
| 502 | func (s *Server) handleRegister(res wsproxysdk.RegisterWorkspaceProxyResponse) error { |
| 503 | addresses := make([]string, len(res.SiblingReplicas)) |
| 504 | for i, replica := range res.SiblingReplicas { |
| 505 | addresses[i] = replica.RelayAddress |
| 506 | } |
| 507 | s.Logger.Debug(s.ctx, "setting DERP mesh sibling addresses", slog.F("addresses", addresses)) |
| 508 | s.derpMesh.SetAddresses(addresses, false) |
| 509 | |
| 510 | go s.pingSiblingReplicas(res.SiblingReplicas) |
| 511 | return nil |
| 512 | } |
| 513 | |
| 514 | func (s *Server) pingSiblingReplicas(replicas []codersdk.Replica) { |
| 515 | ctx, cancel := context.WithTimeout(s.ctx, 10*time.Second) |
no test coverage detected