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

Method Dial

coderd/tailnet.go:562–581  ·  view source on GitHub ↗
(ctx context.Context, _ tailnet.ResumeTokenController)

Source from the content-addressed store, hash-verified

560}
561
562func (a *InmemTailnetDialer) Dial(ctx context.Context, _ tailnet.ResumeTokenController) (tailnet.ControlProtocolClients, error) {
563 if a.DatabaseHealthCheck != nil {
564 if _, err := a.DatabaseHealthCheck.Ping(ctx); err != nil {
565 return tailnet.ControlProtocolClients{}, xerrors.Errorf("%w: %v", codersdk.ErrDatabaseNotReachable, err)
566 }
567 }
568
569 coord := a.CoordPtr.Load()
570 if coord == nil {
571 return tailnet.ControlProtocolClients{}, xerrors.Errorf("tailnet coordinator not initialized")
572 }
573 coordClient := tailnet.NewInMemoryCoordinatorClient(
574 a.Logger, a.ClientID, tailnet.SingleTailnetCoordinateeAuth{}, *coord)
575 derpClient := newPollingDERPClient(a.DERPFn, a.Logger)
576 return tailnet.ControlProtocolClients{
577 Closer: closeAll{coord: coordClient, derp: derpClient},
578 Coordinator: coordClient,
579 DERP: derpClient,
580 }, nil
581}
582
583func newPollingDERPClient(derpFn func() *tailcfg.DERPMap, logger slog.Logger) tailnet.DERPClient {
584 ctx, cancel := context.WithCancel(context.Background())

Callers 1

TestDialFailureFunction · 0.95

Calls 5

newPollingDERPClientFunction · 0.85
PingMethod · 0.65
ErrorfMethod · 0.45
LoadMethod · 0.45

Tested by 1

TestDialFailureFunction · 0.76