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
}