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

Method handleResp

tailnet/test/peer.go:341–369  ·  view source on GitHub ↗
(resp *proto.CoordinateResponse)

Source from the content-addressed store, hash-verified

339}
340
341func (p *Peer) handleResp(resp *proto.CoordinateResponse) error {
342 if resp.Error != "" {
343 return xerrors.New(resp.Error)
344 }
345 for _, update := range resp.PeerUpdates {
346 id, err := uuid.FromBytes(update.Id)
347 if err != nil {
348 return err
349 }
350 p.peerUpdates[id] = append(p.peerUpdates[id], update)
351
352 switch update.Kind {
353 case proto.CoordinateResponse_PeerUpdate_NODE, proto.CoordinateResponse_PeerUpdate_LOST:
354 peer := p.peers[id]
355 peer.preferredDERP = update.GetNode().GetPreferredDerp()
356 peer.status = update.Kind
357 p.peers[id] = peer
358 case proto.CoordinateResponse_PeerUpdate_DISCONNECTED:
359 delete(p.peers, id)
360 case proto.CoordinateResponse_PeerUpdate_READY_FOR_HANDSHAKE:
361 peer := p.peers[id]
362 peer.readyForHandshake = true
363 p.peers[id] = peer
364 default:
365 return xerrors.Errorf("unhandled update kind %s", update.Kind)
366 }
367 }
368 return nil
369}
370
371func (p *Peer) Close(ctx context.Context) {
372 p.t.Helper()

Callers 3

AssertNeverHasDERPsMethod · 0.95
AssertNotClosedMethod · 0.95
readOneRespMethod · 0.95

Calls 4

NewMethod · 0.65
GetPreferredDerpMethod · 0.45
GetNodeMethod · 0.45
ErrorfMethod · 0.45

Tested by

no test coverage detected