func RetryGAPI[T any]()

in tools/mc2bq/pkg/gapiutil/gapiutil.go [81:97]


func RetryGAPI[T any](
	backoff backoff.Backoff,
	fn func(opts ...googleapi.CallOption) (T, error),
	opts ...googleapi.CallOption,
) (T, error) {
	var r T
	var err error
	for {
		r, err = fn(opts...)
		if IsTransientError(err) {
			time.Sleep(backoff.Step())
			continue
		}

		return r, err
	}
}