MCPcopy
hub / github.com/grpc/grpc-go / getTransport

Method getTransport

stream.go:500–520  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

498}
499
500func (a *csAttempt) getTransport() error {
501 cs := a.cs
502
503 pickInfo := balancer.PickInfo{Ctx: a.ctx, FullMethodName: cs.callHdr.Method}
504 pick, err := cs.cc.pickerWrapper.pick(a.ctx, cs.callInfo.failFast, pickInfo)
505 a.transport, a.pickResult = pick.transport, pick.result
506 if err != nil {
507 if de, ok := err.(dropError); ok {
508 err = de.error
509 a.drop = true
510 }
511 return err
512 }
513 if a.trInfo != nil {
514 a.trInfo.firstLine.SetRemoteAddr(a.transport.Peer().Addr)
515 }
516 if pick.blocked && a.statsHandler != nil {
517 a.statsHandler.HandleRPC(a.ctx, &stats.DelayedPickComplete{})
518 }
519 return nil
520}
521
522func (a *csAttempt) newStream() error {
523 cs := a.cs

Callers 1

Calls 4

SetRemoteAddrMethod · 0.80
PeerMethod · 0.65
HandleRPCMethod · 0.65
pickMethod · 0.45

Tested by

no test coverage detected