util

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2020 License: MIT Imports: 10 Imported by: 36

Documentation

Index

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 FormatFloat(val float64, prec int) string

func MustParseFloat

func MustParseFloat(s string) float64

func NewValidLimiter

func NewValidLimiter(r rate.Limit, b int) (*rate.Limiter, error)

func NotZero

func NotZero(v float64) bool

func ParseFloat

func ParseFloat(s string) (float64, error)

func Pow10

func Pow10(n int64) int64

func Render

func Render(tpl string, args interface{}) string

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 ShouldDelay

func ShouldDelay(l *rate.Limiter, minInterval time.Duration) time.Duration

func Zero

func Zero(v float64) bool

Types

type RetryPredicator

type RetryPredicator func(e error) bool

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL