MCPcopy Index your code
hub / github.com/coder/coder / derpMap

Method derpMap

tailnet/controllers.go:1729–1753  ·  view source on GitHub ↗
(client DERPClient)

Source from the content-addressed store, hash-verified

1727}
1728
1729func (c *Controller) derpMap(client DERPClient) error {
1730 defer func() {
1731 cErr := client.Close()
1732 if cErr != nil {
1733 c.logger.Debug(c.ctx, "error closing StreamDERPMaps RPC", slog.Error(cErr))
1734 }
1735 }()
1736 cw := c.DERPCtrl.New(client)
1737 select {
1738 case <-c.ctx.Done():
1739 cErr := client.Close()
1740 if cErr != nil {
1741 c.logger.Warn(c.ctx, "failed to close StreamDERPMaps RPC", slog.Error(cErr))
1742 }
1743 return nil
1744 case err := <-cw.Wait():
1745 if xerrors.Is(err, context.Canceled) || xerrors.Is(err, context.DeadlineExceeded) {
1746 return nil
1747 }
1748 if err != nil && !xerrors.Is(err, io.EOF) {
1749 c.logger.Error(c.ctx, "error receiving DERP Map", slog.Error(err))
1750 }
1751 return err
1752 }
1753}
1754
1755func (c *Controller) workspaceUpdates(client WorkspaceUpdatesClient) {
1756 defer func() {

Callers 1

runControllersOnceMethod · 0.95

Calls 6

CloseMethod · 0.65
NewMethod · 0.65
WaitMethod · 0.65
ErrorMethod · 0.45
DoneMethod · 0.45
IsMethod · 0.45

Tested by

no test coverage detected