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

Function NewMultiAgentController

coderd/tailnet.go:527–545  ·  view source on GitHub ↗
(ctx context.Context, logger slog.Logger, tracer trace.Tracer, coordinatee tailnet.Coordinatee)

Source from the content-addressed store, hash-verified

525}
526
527func NewMultiAgentController(ctx context.Context, logger slog.Logger, tracer trace.Tracer, coordinatee tailnet.Coordinatee) *MultiAgentController {
528 m := &MultiAgentController{
529 BasicCoordinationController: &tailnet.BasicCoordinationController{
530 Logger: logger,
531 Coordinatee: coordinatee,
532 SendAcks: false, // we are a client, connecting to multiple agents
533 Initiator: codersdk.DisconnectInitiatorServer,
534 Direction: codersdk.ConnectionDirectionServerToAgent,
535 },
536 logger: logger,
537 tracer: tracer,
538 connectionTimes: make(map[uuid.UUID]time.Time),
539 tickets: make(map[uuid.UUID]map[uuid.UUID]struct{}),
540 expireOldAgentsDone: make(chan struct{}),
541 }
542 ctx, m.cancel = context.WithCancel(ctx)
543 go m.expireOldAgents(ctx)
544 return m
545}
546
547type Pinger interface {
548 Ping(context.Context) (time.Duration, error)

Callers 1

NewServerTailnetFunction · 0.85

Calls 1

expireOldAgentsMethod · 0.95

Tested by

no test coverage detected