code: func (q *queue) cancel(request *fetchRequest, taskQueue *prque.Prque, pendPool map[string]*fetchRequest) {
  	q.lock.Lock()
  	defer q.lock.Unlock()
  
  	if request.From > 0 {
  		taskQueue.Push(request.From, -int64(request.From))
  	}
  	for _, header := range request.Headers {
  		taskQueue.Push(header, -int64(header.Number.Uint64()))
  	}
  	delete(pendPool, request.Peer.id)
  }
docs: // Cancel aborts a fetch request, returning all pending hashes to the task queue.