code: func (p *BulkProcessor) Flush() error {
  	p.statsMu.Lock()
  	p.stats.Flushed++
  	p.statsMu.Unlock()
  
  	for _, w := range p.workers {
  		w.flushC <- struct{}{}
  		<-w.flushAckC // wait for completion
  	}
  	return nil
  }
docs: // Flush manually asks all workers to commit their outstanding requests.
  // It returns only when all workers acknowledge completion.