code: func (p *PriorityQueue) flushBackoffQCompleted() {
  	p.lock.Lock()
  	defer p.lock.Unlock()
  
  	for {
  		rawPodInfo := p.podBackoffQ.Peek()
  		if rawPodInfo == nil {
  			return
  		}
  		pod := rawPodInfo.(*podInfo).pod
  		boTime, found := p.podBackoff.GetBackoffTime(nsNameForPod(pod))
  		if !found {
  			klog.Errorf("Unable to find backoff value for pod %v in backoffQ", nsNameForPod(pod))
  			p.podBackoffQ.Pop()
  			p.activeQ.Add(rawPodInfo)
  			defer p.cond.Broadcast()
  			continue
  		}
  
  		if boTime.After(p.clock.Now()) {
  			return
  		}
  		_, err := p.podBackoffQ.Pop()
  		if err != nil {
  			klog.Errorf("Unable to pop pod %v from backoffQ despite backoff completion.", nsNameForPod(pod))
  			return
  		}
  		p.activeQ.Add(rawPodInfo)
  		defer p.cond.Broadcast()
  	}
  }
docs: // flushBackoffQCompleted Moves all pods from backoffQ which have completed backoff in to activeQ