func (f *asyncFinder) at(ctx context.Context, at int64, p *path, e *epoch, c chan<- *result) {
	for ; ; e = e.childAt(uint64(at)) {
		select {
		case <-p.cancel:
			return
		default:
		}
		go func(e *epoch) {
			uch, err := f.get(ctx, at, e)
			if err != nil {
				return
			}
			select {
			case c <- &result{p, uch, e}:
			case <-p.cancel:
			}
		}(e)
		if e.level == 0 {
			return
		}
	}
}
// at attempts to retrieve all epoch chunks on the path for `at` concurrently
at attempts to retrieve all epoch chunks on the path for `at` concurrently
// at attempts to retrieve all epoch chunks on the path for ` at ` concurrently
func (f *asyncFinder) at(ctx context.Context, at int64, p *path, e *epoch, c chan<- *result) {
	for ; ; e = e.childAt(uint64(at)) {
		select {
		case <-p.cancel:
			return
		default:
		}
		go func(e *epoch) {
			uch, err := f.get(ctx, at, e)
			if err != nil {
				return
			}
			select {
			case c <- &result{p, uch, e}:
			case <-p.cancel:
			}
		}(e)
		if e.level == 0 {
			return
		}
	}
}
func ( f * asyncFinder ) at ( ctx context . Context , at int64 , p * path , e * epoch , c chan <- * result ) { for ; ; e = e . childAt ( uint64 ( at ) ) { select { case <- p . cancel : return default : } go func ( e * epoch ) { uch , err := f . get ( ctx , at , e ) if err != nil { return } select { case c <- & result { p , uch , e } : case <- p . cancel : } } ( e ) if e . level == 0 { return } } }
at attempts to retrieve all epoch chunks on the path for `at` concurrently
at attempts to retrieve all epoch chunks on the path for ` at ` concurrently