func()

in internal/alloydb/instance.go [234:251]


func (i *RefreshAheadCache) ConnectionInfo(ctx context.Context) (ConnectionInfo, error) {
	i.resultGuard.RLock()
	refresh := i.cur
	i.resultGuard.RUnlock()
	var err error
	select {
	case <-refresh.ready:
		err = refresh.err
	case <-ctx.Done():
		err = ctx.Err()
	case <-i.ctx.Done():
		err = i.ctx.Err()
	}
	if err != nil {
		return ConnectionInfo{}, err
	}
	return refresh.result, nil
}