Pinterest-style visual bookmarking app with: - URL metadata extraction (OG/Twitter meta, oEmbed fallback) - Image caching in Postgres with 480px thumbnails - Multi-tag filtering with Ctrl/Cmd for OR mode - Fuzzy tag suggestions and inline tag editing - Browser console auth() with first-use password setup - Brutalist UI with Commit Mono font and Pico CSS - Light/dark mode via browser preference
25 lines
611 B
Go
25 lines
611 B
Go
package retry
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
)
|
|
|
|
// Constant is a wrapper around Retry that uses a constant backoff. It panics if
|
|
// the given base is less than zero.
|
|
func Constant(ctx context.Context, t time.Duration, f RetryFunc) error {
|
|
return Do(ctx, NewConstant(t), f)
|
|
}
|
|
|
|
// NewConstant creates a new constant backoff using the value t. The wait time
|
|
// is the provided constant value. It panics if the given base is less than
|
|
// zero.
|
|
func NewConstant(t time.Duration) Backoff {
|
|
if t <= 0 {
|
|
panic("t must be greater than 0")
|
|
}
|
|
|
|
return BackoffFunc(func() (time.Duration, bool) {
|
|
return t, false
|
|
})
|
|
}
|