Documentation ¶
Index ¶
- func AggregateErrors(errs []error, format string, args ...interface{}) error
- func PathToProjectRoot() string
- func Retry(maxRetries int, delay time.Duration, f func() error) error
- func RetryWithTimeout(f RetryFunc, period time.Duration, timeout time.Duration, description string) error
- func WriteFile(filePath string, contentBuffer bytes.Buffer) error
- func WriteFileToLog(logger *capnslog.PackageLogger, path string)
- type RetryFunc
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AggregateErrors ¶ added in v1.7.3
AggregateErrors takes a list of errors formats them into a pretty, user-readable list headed by the text "errors:". All errors in the list will lose any context besides their error string. If the errs list is empty, AggregateErrors returns nil. Example:
AggregateErrors(errList, "errors for my %q", "mom") --> `errors for my "mom": error 1 error 2 etc.`
func PathToProjectRoot ¶ added in v1.7.3
func PathToProjectRoot() string
PathToProjectRoot returns the path to the root of the rook repo on the current host. This is primarily useful for tests.
func Retry ¶ added in v0.7.0
Retry will attempt the given function until it succeeds, up to the given maximum amount of retries, sleeping for the given duration in between attempts.
func RetryWithTimeout ¶ added in v1.7.3
func RetryWithTimeout(f RetryFunc, period time.Duration, timeout time.Duration, description string) error
RetryWithTimeout retries the RetryFunc until the timeout occurs. It will retry once more after the timeout to avoid race conditions at the expense of running for slightly longer than timeout in the timeout/error case. The given description will be output in log/error messages as "... waiting for <description>..."
func WriteFileToLog ¶ added in v0.3.0
func WriteFileToLog(logger *capnslog.PackageLogger, path string)
Types ¶
type RetryFunc ¶ added in v1.7.3
RetryFunc is a function that returns true when it is done and it should be retried no longer. It should return error if there has been an error. The error will be logged if done==false (should keep retrying). The error will be returned by the calling function if done==true (should stop retrying).