()
| 323 | var errResponsesClosed = xerrors.New("responses closed") |
| 324 | |
| 325 | func (p *Peer) readOneResp() error { |
| 326 | select { |
| 327 | case <-p.ctx.Done(): |
| 328 | return p.ctx.Err() |
| 329 | case resp, ok := <-p.resps: |
| 330 | if !ok { |
| 331 | return errResponsesClosed |
| 332 | } |
| 333 | err := p.handleResp(resp) |
| 334 | if err != nil { |
| 335 | return err |
| 336 | } |
| 337 | } |
| 338 | return nil |
| 339 | } |
| 340 | |
| 341 | func (p *Peer) handleResp(resp *proto.CoordinateResponse) error { |
| 342 | if resp.Error != "" { |
no test coverage detected