y/y.go
func (t *Throttle) Done(err error) {
	if err != nil {
		t.errCh <- err
	}
	select {
	case <-t.ch:
	default:
		panic("Throttle Do Done mismatch")
	}
	t.wg.Done()
}
func (t *Throttle) Done(err error) {
	if err != nil {
		t.errCh <- err
	}
	select {
	case <-t.ch:
	default:
		panic("Throttle Do Done mismatch")
	}
	t.wg.Done()
}
func ( t * Throttle ) Done ( err error ) { if err != nil { t . errCh <- err } select { case <- t . ch : default : panic ( " " ) } t . wg . Done ( ) }
// Done should be called by workers when they finish working. They can also
// pass the error status of work done.
Done should be called by workers when they finish working . They can also pass the error status of work done .