Documentation ¶
Index ¶
- Constants
- Variables
- func BeginningOfTheDay(t time.Time) time.Time
- func FormatFloat(val float64, prec int) string
- func GetEnvVarBool(n string) (bool, bool)
- func GetEnvVarDuration(n string) (time.Duration, bool)
- func GetEnvVarInt(n string) (int, bool)
- func MillisecondsJitter(d time.Duration, jitterInMilliseconds int) time.Duration
- func MustParseFloat(s string) float64
- func NewValidLimiter(r rate.Limit, b int) (*rate.Limiter, error)
- func NotZero(v float64) bool
- func Over24Hours(since time.Time) bool
- func ParseFloat(s string) (float64, error)
- func Pow10(n int64) int64
- func Render(tpl string, args interface{}) string
- func Retry(ctx context.Context, attempts int, duration time.Duration, ...) (err error)
- func SetEnvVarBool(n string, v *bool) bool
- func ShouldDelay(l *rate.Limiter, minInterval time.Duration) time.Duration
- func StringSliceContains(slice []string, needle string) bool
- func Zero(v float64) bool
- type Response
- type RetryPredicator
- type TimeProfile
- type VolatileMemory
Constants ¶
View Source
const (
InfiniteRetry = 0
)
View Source
const MaxDigits = 18 // MAX_INT64 ~ 9 * 10^18
Variables ¶
View Source
var Pow10Table = [MaxDigits + 1]int64{
1, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18,
}
Functions ¶
func FormatFloat ¶
func GetEnvVarBool ¶ added in v1.17.0
func GetEnvVarInt ¶ added in v1.17.0
func MillisecondsJitter ¶ added in v1.17.0
func MustParseFloat ¶
func Over24Hours ¶ added in v1.18.0
func ParseFloat ¶
func Retry ¶
func Retry(ctx context.Context, attempts int, duration time.Duration, fnToRetry func() error, errHandler func(error), predicators ...RetryPredicator) (err error)
Retry retrys the passed function for "attempts" times, if passed function return error. Setting attempts to zero means keep retrying.
func SetEnvVarBool ¶ added in v1.18.0
func StringSliceContains ¶ added in v1.11.1
Types ¶
type Response ¶ added in v1.11.0
Response is wrapper for standard http.Response and provides more methods.
func NewResponse ¶ added in v1.11.0
NewResponse is a wrapper of the http.Response instance, it reads the response body and close the file.
func (*Response) DecodeJSON ¶ added in v1.11.0
type RetryPredicator ¶
type TimeProfile ¶ added in v1.17.0
func StartTimeProfile ¶ added in v1.17.0
func StartTimeProfile() TimeProfile
func (*TimeProfile) Stop ¶ added in v1.17.0
func (p *TimeProfile) Stop() time.Duration
func (*TimeProfile) TilNow ¶ added in v1.17.0
func (p *TimeProfile) TilNow() time.Duration
type VolatileMemory ¶
type VolatileMemory struct {
// contains filtered or unexported fields
}
func NewDetectorCache ¶
func NewDetectorCache() *VolatileMemory
func (*VolatileMemory) IsObjectFresh ¶
func (i *VolatileMemory) IsObjectFresh(obj interface{}, ttl time.Duration) bool
func (*VolatileMemory) IsTextFresh ¶
func (i *VolatileMemory) IsTextFresh(text string, ttl time.Duration) bool
Click to show internal directories.
Click to hide internal directories.