code: func (r *sentReq) stateNoMorePeers() reqStateFn {
  	select {
  	case <-time.After(retryQueue):
  		go r.tryRequest()
  		r.lastReqQueued = true
  		return r.stateRequesting
  	case ev := <-r.eventsCh:
  		r.update(ev)
  		if ev.event == rpDeliveredValid {
  			r.stop(nil)
  			return r.stateStopped
  		}
  		if r.waiting() {
  			return r.stateNoMorePeers
  		}
  		r.stop(light.ErrNoPeers)
  		return nil
  	case <-r.stopCh:
  		return r.stateStopped
  	}
  }
docs: // stateNoMorePeers: could not send more requests because no suitable peers are available.
  // Peers may become suitable for a certain request later or new peers may appear so we
  // keep trying.